
I built a fully playable checkers game that runs 100% on the Fastly edge — no origin servers, no databases, no external infrastructure. Just Compute, KV Store, Fanout, and a browser.
What it does:
- Real-time multiplayer checkers with server-authoritative game logic
- Lobby chat, in-game chat, matchmaking, online presence
- 30-second turn timer with auto-forfeit
- Cosmetic shop (board skins, piece skins, avatars) with coin economy
- JWT auth, input validation, and rate limiting — all at the edge
Fastly products used:
- Compute (Rust/Wasm) — all application logic, static asset serving (frontend embedded in the Wasm binary)
- Fanout — WebSocket connections for real-time chat, game state sync, match notifications, presence
- KV Store — three stores for player profiles, game state, and shop catalog
- Secret Store — JWT signing key + API token
- Config Store — service configuration
- Edge Rate Limiting — per-endpoint abuse protection
Built with:
- Backend: Rust compiled to Wasm, running on Compute
- Frontend: Preact + TypeScript + Canvas 2D, ~38KB total
- Single Compute service handles everything — REST API, WebSocket, and static assets
Try it: https://checkers-rust.chrisbuckley.dev Source: https://github.com/chrisbuckley/fastly-serverless-checkers
The whole point is to show that Compute isn't just for caching and request routing — it can power a complete, stateful, interactive application. Open to feedback, and happy to walk through the architecture if anyone's curious. (edited)