We Built a World Cup Sweepstake Tracker with Claude Code. Here’s What We Actually Learned

Picture of Chris Haigh

Chris Haigh

Every year, the office sweepstake produces the same problem. A photo of a handwritten list on someone’s desk. A fixtures tab that nobody can find when they need it. And the same question, asked roughly every other day: “Remind me who has Curaçao?”

This year, with 13 of us drawing 48 teams for the 2026 FIFA World Cup, we decided to do something about it. We built a small web app with fixtures, kick-off times in BST, a countdown to the opener, owner badges, and head-to-head pages for every match.

It isn’t anything groundbreaking, but a real piece of software, built for a real (if not exactly business-critical) purpose, and a genuine opportunity to put a tool we’d been watching closely through its paces.

That tool was Claude Code, Anthropic’s AI coding agent.

Here’s an honest account of where it helped, and where it didn’t.

What we actually built

The app pulls live fixtures and scores from a public football data source, updated every minute. It overlays our sweepstake allocations onto the real FIFA team list and fills in the gaps, mainly venue information, from data we pulled in once at build time.

There’s a live countdown clock, stage-by-stage filters, and automatic hiding of finished matches a few days after the final whistle (with a toggle to bring them back if you want to revisit). Click any fixture and you get a head-to-head page: both teams, their owners, the venue.

The World Cup trophy sits faded into the right edge of the page at a slight angle. However, the interesting part isn’t the app itself. It’s how it came together.

Where Claude Code genuinely earned its keep

Getting to a working version, fast.

Scaffolding the project, setting up the design system, building components, wiring data together, generating types: this is the work that AI handles well. The first working version of the app was live in under an hour. Most of that time was spent typing decisions, not waiting for code to appear.

The tedious data work.

Reconciling team names across two different sources, building a lookup table for 104 matches and their venues, formatting dates correctly for a UK audience. This is the kind of work that takes humans a disproportionate amount of time and concentration.

Claude handled it quickly and, importantly, transparently. Every step was visible in the chat history. Nothing happened behind the scenes.

Shortening the gap between idea and result.

“Can we soften the grey on the nav so it’s easier to read?” produced the right change in seconds. “Add a countdown timer to the first match” was a single sentence and a working component.

The interesting thing isn’t that the code was good. It’s that the distance between thinking of an improvement and seeing it on screen was small enough that we tried far more of them. Most software ends up worse than it could be because small refinements carry too high a cost. That cost is now meaningfully lower.

Where humans still had to step in

The judgement calls

Should knockout-stage venues be pulled live from the API, or hardcoded? Should owner allocations be derived from live data, or kept in a typed file we could correct by hand? Should the trophy spin? (We tried it. Against a flat image, it looked wrong. We removed it.)

Every one of those decisions sat with a person. Claude can argue both sides of an argument. What it can’t do is tell you which answer fits your project.

Knowing when the AI is confidently wrong

Our early test data predated the 2026 FIFA draw, so the initial group allocation was a plausible guess with Mexico in Group A, Belgium in A, Tunisia and Qatar to fill it out. Entirely reasonable. Also entirely fictional. When real data arrived from the API, Group A turned out to be Mexico, South Korea, Czechia and South Africa. The lesson: AI generates confident-sounding placeholders, and someone has to know to verify them against reality.

Decisions that require context

Partway through the build, one of our data sources came up short on venue information. Claude offered three sensible routes forward: upgrade to a paid tier, switch APIs, or hardcode the data ourselves. The right answer for this project was obvious; it’s a one-tournament app that will never need updating again. But that wasn’t a call Claude could make. It needed someone who understood why we were building it and how long it needed to last.

Taste

No AI agent would have flagged that the nav items were hard to read on their own, because that’s not a bug, it’s an aesthetic call. The brand sensibility, the sense of what looks right, the instinct that something is slightly off: that’s still human territory.

What this actually means

The framing that “AI builds your apps for you” misses the point. The more accurate version is this: the parts of a build that used to eat hours: the boilerplate, integration work, framework conventions, generating a 104-row lookup table, formatting timestamps correctly for a UK audience, now collapse to minutes.

Which means the parts that actually matter get more of your attention. What should this be? Who is it for? What makes it good?

At Browndog, that’s the shift we’re paying attention to. Not AI replacing developers. More like: the developer’s time gets pulled up towards decisions and away from typing. The sweepstake tracker is a small example of that principle. But principles scale.

You can see the finished result at wc26.browndog.agency.

The shift to using AI for boilerplate code means our developers spend more time on the things that truly matter: judgment, context, and taste.

At Browndog, we’re focused on this new way of working, ensuring our custom websites are built not just efficiently, but with the human intelligence your project deserves.

Ready to discuss a web project built on efficiency and human insight? Get in touch today and let’s see how we can bring your vision to life.

Tell us about your project…

This field is for validation purposes and should be left unchanged.
Name(Required)
What can we help you with?