How it actually happened
Described the rules out loud
No spec doc, no wireframe. I just talked through our family whist variant — the bidding, the doubling rule, who deals, how ties break — while the cards were still out.
“It’s like whist, but the bid is a contract and you lose double if you miss it by more than two.”
A working scoreboard, first try
The first build already tracked players, rounds and running totals. It got one edge case wrong — the double penalty — which took exactly one more sentence to fix.
Everyone opened it on their phone
The real test: passing the URL around. Four people, four phones, one shared game. Watching non-technical family members just... use it, minutes after it existed, was the whole point.
Four game nights, zero changes
It kept working. No crashes, no feature requests, no maintenance. It does one thing, it does it at the table, and it gets out of the way — which is exactly the bar I want every experiment on this desk to clear.
The fastest spec is a conversation, and the best test suite is a competitive family. Four game nights later, not a line changed.