Realtime chess on Cloudflare Workers

A ranked chess arena at the edge.

Match with a human, challenge Edge Bot when the queue is quiet, earn Elo, and let a Durable Object govern every board with authoritative state.

Ranked Elo Edge Bot Live spectators
Editorial illustration of chess pieces connected by an orange network trail
Active match 5+0 Blitz
Elo swing +16
1 DO per match
0 servers to manage
4 queues bullet to rapid
Elo after every result

Why Durable Objects

One match, one authoritative coordinator.

Realtime moves

Players and spectators connect over hibernatable WebSockets, so idle thinking time stays cost-efficient.

Strong state

Each match stores FEN, clocks, move history, and chat in SQLite-backed Durable Object storage.

Server validation

The browser proposes moves; chess.js inside the Durable Object decides what is legal.

Architecture

Workers serve the frontend. Durable Objects own the game.

The Matchmaker Durable Object pairs players by time control, then creates a named ChessMatch Durable Object. That match instance becomes the single source of truth for the board, timers, chat, and spectators.

Competitive polish

Every win has weight.

A final result triggers Elo updates, a dramatic result overlay, and confetti for winners. If no human is waiting, Edge Bot keeps the board alive.

Ready

Take the next seat.

Join the queue, or spin up a bot match instantly. The board is already waiting at the edge.

Play now