- SVELTE + RUST
- API
- ENGINE
- SELF-HOSTED
A Svelte interface with a responsive board, promotion dialog and timers, backed by a Rust server. I chose this pair on purpose to keep the architecture as light as possible in RAM and CPU: Svelte compiles to plain JavaScript with no heavy runtime, and Rust gives a small, predictable memory footprint. Static assets are served by Nginx.
A GraphQL API (async-graphql) exposing createUser, createGame, makeMove, getUserProfile and getLeaderboard. Each resolver delegates to the game and stats services, which handle move legality, streaks and per-level statistics.
Stockfish is driven over UCI. Difficulty maps to skill level, think time and deliberate imperfection, so weaker levels make realistic mistakes.
I wanted a full self-hosted project: no managed cloud services, just containers on my own server. Docker Compose runs the backend, the frontend and the SQLite volume, and GitHub Actions deploys over WireGuard. I owned every layer, from the engine to the deployment.