This started with a conversation. A friend and I were talking about how Super Bowl parties have this weird energy: half the room is actually into the game, half is just there for the commercials and food. We wondered, “what if there was a lightweight way to keep everyone engaged? Micro predictions, trivia during commercial breaks, something interactive that didn’t require you to care about football.”
So I gave myself a day to see how far I could get.
The one-day build
I bootstrapped the whole thing in about a day. The idea was simple: one laptop runs the server (hooked up to the TV), everyone else joins from their phones over the local network. The host pushes out questions — predictions, trivia, whatever — and players answer in real-time.
It’s still a buggy prototype. We never actually used it at a party. But I got it working on my local network, which was the goal.
What it does
- Host screen shows a room code and QR code on the TV
- Players scan the QR or type the URL, join with a name
- Host pushes questions and locks in answers when ready
- Live leaderboard updates as answers come in
No accounts, no cloud, no database. Everything lives in memory for the session. Dead simple.
What I’m proud of
Getting real-time sync to work. Socket.IO made this surprisingly smooth. When the host reveals an answer, every phone updates instantly. There’s something satisfying about seeing that work across devices on a home network.
The turnaround. Going from “what if” to a working prototype in a day forced me to make ruthless decisions about scope. No auth, no persistence, no fancy UI — just the core loop.
LAN networking. Figuring out how to print the right local IP, generate the QR code, and make the join flow dead simple was more interesting than expected. Getting npm run lan to “just work” on any home network takes more thought than you’d think. If networking was wizardry before, but LAN networking across mobile and webapp was an even higher hurdle.
The stack
Next.js for both frontend and API routes — one process, simple deployment.
Socket.IO for real-time push. Polling would have felt sluggish.
Tailwind because I was moving fast and didn’t want to fight CSS.
Current state
This was a fun experiment, not something I plan to polish. It served its purpose: could I build something real-time and multiplayer in a day? Turns out, yeah. The buggy edges would need work for actual use, but the core idea holds. Maybe I’ll revisit it for Superbowl next year. I think I need more time to create thoughtful questions, markets, and figure out the gamefication of the experience.