I wanted a place to play chess online without ads, trackers, or accounts - and I wanted to be able to drop in my own chess AI. So I built the board and the platform myself.
Features
- Play against a friend in real time - game state syncs instantly via Firebase Realtime Database
- Play against an AI opponent (js-chess-engine under the hood)
- Drag-and-drop piece movement
- Board-only mode for casual play or analysis
TODO
- User-specific win/loss metrics
- Login system for saving game history
- Swap in a stronger engine
What I learnt
- How Firebase Realtime Database handles live sync between two clients
- Drag-and-drop event handling for a game board
- How chess move validation works at the library level vs rolling it yourself
Built with
- TanStack Start
- React DnD
- Firebase - Realtime Database and Auth
- tailwindcss
- Deployed on Vercel