Unblur

This was my first time building something from scratch with Claude Code — no spec, no plan, just an idea and a free weekend.
The idea: a multiplayer party game where a blurred photo slowly comes into focus and everyone races to guess what it is. The faster you call it, the more points you score.
How it plays
- A host opens a room on a laptop or TV, picks a topic and number of rounds, and gets a 4-character room code.
- Players join from their phones with the code — no app to install.
- Each round, a blurred Unsplash photo reveals itself over about 20 seconds, then stays up for 5 more. Everyone can guess the whole time, and points scale from 1000 (instant) down to 100 (last second).
- If everyone guesses correctly, the round ends early. Between rounds the host sees the answer, the round winners, and the leaderboard — then hits Next Round.
- After the final round, a scoreboard crowns the winner.
Players can refresh or drop their connection mid-game and rejoin without losing their place.
How it’s built
- Next.js + TypeScript, deployed on Vercel.
- Photos from the free Unsplash API.
- Real-time room state — players, scores, guess history — on Upstash (Redis), with a Lua script keeping the scoring honest.
- Mixpanel for analytics, so I could see how people actually played.
What’s next
I learned a ton shipping this first version — and I also felt every spot where “just start coding” got messy. So my next endeavor is to rebuild Unblur with the BMAD method — the same spec-first approach behind this site and the handbook. Stay tuned!