Blunder Crew: one vs the crowd
February 05, 2025 02:09
A chess game where a single player faces the rest of the room. Everyone votes on the next move; the board updates in real time. Built with Phoenix and LiveView.
Blunder Crew is built around a simple twist: one person plays the white pieces, everyone else votes on black’s moves. You create a game, share the link, and as soon as enough votes land on a move, it gets played. No polling—Phoenix LiveView pushes the board state so everyone sees the same position at the same time.
The stack is Elixir, Phoenix, LiveView, PostgreSQL. Auth is Google via Ueberauth so people can jump in without accounts. The chess logic lives in a core module (board representation, legal moves, game state); the LiveView layer handles the UI, voting, and broadcasts. Tailwind and a small set of custom styles keep the board readable and the layout straightforward.
The fun part is the dynamic: the single player has to think ahead knowing that “black” is actually a crowd. It works well for streams, meetups, or just a silly game night. Real-time updates and a clear 1-vs-many setup were the main design goals, and LiveView made that part straightforward.