blokus-board-game
~/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
~/projects/blokus-board-game