Mistboard is a free, open-source platform for dark chess — also called Fog of War chess — a hidden-information variant where each player only sees what their own pieces can legally see, enforced by the server.
The project is building a trustworthy foundation for hidden-information games, starting with chess: server-authoritative play, a serious ranked ladder, and a first-party dark-chess engine that plays through a public, auditable information boundary.
It features low-friction PvP rooms, private Draft960 back-rank drafting, post-game replay from either player's perspective or full truth, per-game Open Graph share images, PGN/JSON export, per-bucket Elo, and an in-house engine track targeting a public engine protocol, reproducible benchmarks, and a first-party benchmark opponent.
Mistboard is written in TypeScript across a small npm workspace. The browser client is a no-framework Vite build that uses chessground for board rendering and chessops for chess primitives. The server is a Node WebSocket process that owns canonical game state, with Postgres for the event log and game history and pino for structured logs. A pure-game packages/game module holds the variant rules, visibility kernel, and the getPlayerView() boundary — the central abstraction that ensures no hidden truth ever reaches the wrong client. The first-party engine lives in a private sibling repo and is fetched at deploy time; it speaks the same redacted EngineTurnRequest protocol any third-party engine would (see docs/engine-protocol.md). Hosted on Railway. Analytics via PostHog.
Mistboard is an independent open-source project. It is not affiliated with lichess, chess.com, or any other chess platform.
Use GitHub issues for bug reports and feature requests.
Live PvP dark chess is playable at mistboard.com. The project is working toward M1 pre-distribution gates before wider outreach.
npm install
npm run dev # in-memory server, fastest for UI work
npm testSee CONTRIBUTING.md for dev rooms, local Postgres setup, and integration tests.
packages/game Pure game logic: types, rules, visibility, variants
packages/board-render Shared SVG board renderer (server + browser)
apps/server WebSocket rooms, clocks, event log, HTTP API
apps/web Board UI, game screens, client WebSocket handling
See docs/ARCHITECTURE.md for the full data flow and state model, and docs/rules.md for the dark chess / Fog of War rule baseline.
See CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SECURITY.md.
AGPL-3.0-or-later. See LICENSE.
For uses that require terms other than AGPL (e.g. closed-source distribution), reach out via mistboard.com/contact.
Mistboard is founder-led. The code is open source, but the official project identity, mistboard.com, hosted service, roadmap, and production infrastructure remain controlled project assets.
See GOVERNANCE.md, TRADEMARK.md, and docs/project-direction.md.
