01 · Live product
Steal the Round
A live party game in which the AI proposes and a human rules.
- Trivia for two to six teams: one shared TV screen, a phone for the Host and one for each team. No account and no download; everyone joins by scanning a code. Live at stealtheround.com.
How it works
- One game engine, three role-scoped views: Host, Team and Big Screen. Each client receives its own redacted projection of the game.
- Realtime broadcasts carry only a game id and a revision number. Each client then fetches its own projection over HTTP, so a broadcast never carries secret state such as the answer or another team’s picks.
- Every write is compare-and-set on the revision (Postgres functions that take the expected revision): a stale write comes back as a conflict instead of overwriting.
- VAR review (named after football’s video referee): when a team challenges a ruling, Claude compares the answer inside the challenge window (15 seconds by default, 5 to 120 configurable), with extended reasoning off and a JSON-schema response of a report and a yes/no. It retries once on invalid output. It is advisory by rule: only a Host action changes the score.
Decisions
- Player-typed text is JSON-encoded into prompts, never interpolated, so a submitted answer cannot spoof extra fields.
- The safety classifier stays on the larger model after the smaller one missed an injection case in a benchmark.
- The 12-second AI stall threshold was set only after measuring: the worst silence seen on a successful batch was 1.5 seconds.
- Database migrations ship before the code that needs them, and are additive, after one outage and one near miss caused by code outrunning its schema.
Evidence
- A scripted tutorial rehearsal plays through the built app on every pull request.
- A lint-debt ratchet that may shrink but never grow, a benchmark check that fails if question generation gets more expensive (cost is profiled token by token), and a separate CI job that rebuilds the database from its migrations on every pull request.
Still open
- AI answers stay fallible, which is why the Host rules.
- Some on-screen ceremonies are rebuilt from revisions, so a client that misses one may skip an animation; scores and state still converge.
- The live multiplayer QA suites run locally, not in CI.
Built by
One developer, July to September 2026 (274 commits). Three rules are checked into the repository for every change: protect the engine boundary, never bypass the revision checks, no real player data anywhere.
LIVE · 2026 · NEXT.JS 16 · SUPABASE REALTIME · CLAUDE
Open stealtheround.com (opens in a new tab)Back to the hall
From the project’s own repository and CI, as of September 2026. The repositories are private; code walkthroughs on request.