Draft Chess Awaits

I’ve always been a fan of different chess variants, especially Chess960. Draft Chess gives you that randomness and adds some strategy to the pre-game setup. If you haven’t seen it yet, check out Draft Chess. Here I’ll go over some features, the application backend, and what’s planned for the application.

Placement Variants

The default placement setting involves players drafting a group of pieces, then choosing from several placement options for those pieces. Kings are placed at the end of the draft, which can push other pieces in the column up, for example shifting a bishop diagonal or moving a piece out of threat from an enemy bishop.

In Bunker, players place the kings first, then players build a defense (and offense) with the king placements locked in.

REVERSE! allows players to draft their opponents’ pieces instead, while Alternating mode alternates which player is drafting which pieces. Alternating mode will probably be removed soon, but I’d like to get some feedback on it first.

All Random randomizes all draft selections, allowing players to skip the setup and jump into a game of maximum randomness chess. King placements are pseudo-random (avoiding placing into immediate threat).

Features

  • Modes: live and correspondence games, local (hotseat) games, gameplay tutorial, AI
  • Glicko-2 ELO system (same ELO system as lichess)
  • Chat with reporting & admin backend for banning & verifying players
  • Observers for public games
  • Lobby showing open and current games
  • Friends lists, private messaging, notifications
  • Abort games early for minimal (20% of normal) ELO hit, or cancel for no ELO impact (draft phase only, requires both players to agree)
  • “Rich Mahogany and Leather-bound Books” theme
  • Challenge players, offer rematches
  • Timer for disconnects, reconnecting to the server automatically returns players to live games if they have any active
  • Game history is shown in the side panel, with stepping to different stages of the game
  • Sandbox mode enabled after games finish to explore positions
  • Ranked games are stored and can be played in sandbox mode

Tech stack

Layer Technology
Server Node.js, Express, Socket.IO hosted on VPS
Database PostgreSQL
Cache Redis (lobby rooms, room invites)
Ratings Glicko-2 (glicko2-lite)
Auth Google OAuth 2.0, HTTP-only session cookies
Frontend React 19, TypeScript, Vite
AI Modified Stockfish
Testing Vitest, React Testing Library, Socket.IO integration tests

On the roadmap

  • Better AI (piece placement and gameplay)
  • Premoves
  • Email notifications
  • More game modes
  • Saving favorite draft outcomes to start new custom games from that position
  • More themes (with other graphics)
  • Achievements

Want to try a game? Invite a friend, pick up a match in the lobby, or join the Draft Chess Discord to find opponents and chat. Feedback, bug reports, and suggestions are all welcome - message me anytime. I’m also looking for help managing the Discord server if you’re interested.

Contact

Let’s talk about what you need. I offer flexible pricing for early-stage startups and longer-term projects.

Form validation failed.