← back to the collection

Case study · NO. 02

Our bracket, not theirs.

Every bracket site wants an account, an email, and a data trail that ends at a sportsbook. I wanted my friends arguing about group C — so I built us our own.

Started
Spring 2026
Status
Scoring live results
Share format
One short URL
Accounts
None, on principle

No accounts, on principle

Bracket predictions are a fun argument between friends, and most sites price them at an email address and a summer of sportsbook ads. This one asks for nothing — which forces the interesting design: the share link is the bracket. A hundred-plus picks get squeezed, bit by literal bit, into a URL about two dozen characters long; send it to the chat and the other person’s browser reconstructs your entire tournament from the address alone. There’s no bracket database anywhere. The friend pool keys on a display name, because friends don’t need authentication — they need effortless.

Knockout bracket screen showing semifinal picks, with France and Portugal chosen to reach the final
All 31 knockout picks in: 74% chalk, exactly one upset, France to lift it. Everything on this screen travels inside the share link.

Making real results score it

The bracket itself worked in days; scoring it against reality took the time. FIFA’s new 48-team format comes with full tiebreak ladders, head-to-head mini-tables, and an official constraint table that routes the eight best third-placed teams — regulations as load-bearing code. It’s exactly the kind of work I’d never have attempted solo before coding agents: Claude Code turned the tournament regulations into a rule engine I could test, which left me free to sweat the judgment calls — standings only publish once a group’s six matches all finish, so scores never flicker, and a hand-published admin result overrides any feed glitch.

The bracket reads you back

Filling out a bracket is taking a position, so the game ends by reading yours back to you: how chalky, how dramatic, how Eurocentric, and the gauntlet your champion has to run to prove you right. That recap is what people actually screenshot into the chat — the link carries the data, the card carries the argument. The knockouts are scoring live now. No leaderboard drama yet, but it’s coming.

A shareable knockouts bracket export: all four rounds from the Round of 32 to the final, France beating England, captioned France lifts the trophy
The whole knockout bracket as one exportable card — every pick from the Round of 32 to France over England in the final. This is what lands in the group chat, argument attached.