What it is
Once the fines dashboard made fines accurate, it also made them boring. Wheel of Oink puts the theatre back: a full-screen spinner with genuinely equal odds, sound and a record button, so the reveal becomes a clip for the league WhatsApp.
A phone spinner wheel for revealing our fantasy football league's fines, with an optional recording for the WhatsApp group.
Once the fines dashboard made fines accurate, it also made them boring. Wheel of Oink puts the theatre back: a full-screen spinner with genuinely equal odds, sound and a record button, so the reveal becomes a clip for the league WhatsApp.
The segments are equal and nothing's rigged, otherwise the joke dies. It fits on one iPhone screen with no scrolling. And the name: the app has a ruder one between mates, and here it's Wheel of Oink.
Vite, React and TypeScript on Vercel, Web Audio for the sound, and the camera and microphone APIs for the recording flow.
The hard part was camera and microphone permissions in iPhone Safari. It took a couple of real sessions before recording and audio behaved.
I’d already fixed the TLL fines admin with a proper dashboard. That solved the bookkeeping and made the number completely boring: open a page, see what you owe, close it. A league fine is supposed to sting a little in public, so I built a spinner wheel to put the theatre back.
It’s a single phone screen with no scrolling on an iPhone. The segments are equal and so are the odds, because if it’s rigged the bit stops being funny. A record button turns on the camera and mic before the spin, so the reveal becomes a clip for the league WhatsApp.
The app has a ruder name in the code and between mates. Here it’s Wheel of Oink.
It’s live and it gets used. The Zoicam recording flow took a couple of real sessions of debugging before the camera and audio permissions stopped fighting each other on iPhone.