03shipped7 min
Go watch the thing before you design it
The lesson
The spec I needed was never written down. It was in the room.
The brief for SB Gaming was one sentence. Make a digital online bingo game that works with our hall. That was the whole thing. No spec, no team, no second developer, and a shutdown running in the background.
I could have started building from what I assumed bingo was. Everybody knows bingo. That assumption is exactly the trap.
So I went and watched
I sat with how a session actually runs. The caller. The programs. The patterns. The prize claims. The phone-in calls. Six commercial card sets that all have to validate correctly, live, on stream. The intermission, which matters more than it sounds like it should, because a hall is a room full of people rather than a queue of users.
Nobody writes down the parts everyone already knows. Those are the parts that break the build.
That gave me the product. A caller console for sessions, programs, patterns, prizes and jackpots. Flashboard, prize board and intermission timer as separate windows so OBS could capture them live. Server-side validation resolved while the stream is running. And the operational workflow around all of it, because software that ignores how the hall actually works is just a nice demo.
The part I'd redo
I built the flashboard first, because it was the visible thing. The call system is what the whole product hangs on, and it ended up inheriting constraints from a display layer that should have been downstream of it.
Visible is not the same as foundational. I know that now because I got it backwards once and paid for it in refactors.
In production since 2021. Three halls, every session. The one sentence turned out to be enough, but only because I stopped treating it as the spec.
- Business

