~/projects/blokus-board-game/README.md
Blokus Board Game
Full-stack developer (solo) · April 2025 – Present
A real-time multiplayer Blokus game with server-side move validation and live client sync.
Curious how it's built? Try cat architecture.json
Problem
Wanted a lightweight, real-time way to play Blokus online with friends — one where the rules (piece legality, rotation, turn order) are enforced consistently for every player instead of trusted to each client.
Constraints
- Server needs to be the source of truth for move legality, not just the UI
- Real-time sync across clients without noticeable lag
- Piece rotation and flipping needed to feel intuitive on a grid-based board
Decisions
- Built the game server in Node.js with Socket.IO for real-time move broadcasting and turn state.
- Validated every placement server-side before broadcasting, so the client only ever renders legal moves.
- Added rotation, flipping, and placement previews in the React client to make piece manipulation clearer and more accessible.
What I'd do differently
Next step would be reconnect/resume support for dropped players, plus persisting game state so a session survives a server restart.
Stack
Languages
JavaScript
Frameworks
ReactNode.jsSocket.IO