About Caissa Codex
A free, open encyclopedia of every named chess opening, built as a side project. It has no ads and needs no sign-up.
Who made this
I'm a high school student in Norway. I built Caissa Codex in my spare time because I wanted a single reference that combined what I liked from Lichess's opening explorer (live statistics) and an encyclopedia-style site (one page per named opening with interactive board, theory, and analysis), without ads, paywalls or accounts in the way.
The name comes from Caissa, the goddess of chess, and a codex, a handwritten book. The site lives at chesscodex.org.
It's a hobby project. I'm still learning. If something feels rough, it probably is. Feedback is welcome via the Write a description or report a mistake form on any opening page.
Where the data comes from
- Opening list (3,690 lines): from the Lichess chess-openings dataset, public domain. ECO codes, PGN move sequences, canonical names.
- Game statistics: from the Lichess Opening Explorer API, fetched and stored by the server: the win rates, popular replies and everything else in the "Statistics from Lichess" panel.
- Play vs the engine: uses Stockfish.wasm running entirely in your browser, including the evaluation shown while you play. Nothing is sent to a server for this; the engine is loaded once and runs locally.
- Editorial descriptions: the opening descriptions were written with the help of an AI assistant, from published sources on each opening and the Lichess numbers shown on its page, and checked against those sources. If you spot a mistake, the "Suggest an improvement or report a mistake" form under the description reaches me. Descriptions sent through that form are read before anything is published. Pages without a description fall back to a generated "Overview" built from the underlying data.
How it's built
PHP 8.4 and SQLite with no framework, and plain JavaScript (ES modules) minified with esbuild. Self-hosted on a Raspberry Pi 5 at home, served through Cloudflare. The source code is on GitHub under the AGPL-3.0.
Open-source libraries that do the heavy lifting: chess.js (move validation), chessground (the board UI), Stockfish.wasm (the engine for /play), Parsedown (Markdown rendering), p-chess/chess (moves on the server).
Privacy
No ad trackers and no cookies for analytics. The only third-party script is Cloudflare Web Analytics, which counts page views without cookies or fingerprinting. The site stores a single cookie only if you log in as admin (that's not you).
If you suggest a description, the site stores what you send (the text, and your name and email address if you give them; the email is never published) together with your IP address, which is used only to fight spam. Like any web server, it also keeps access logs (IP address, page, time and browser) for about two weeks. The database is backed up every night to private cloud storage (Cloudflare R2), where each copy is deleted after 30 days.
Your repertoire, practice progress, recently viewed openings, engine level and theme are kept in your browser's local storage and never leave your device.
Apart from the nightly backup, the only outbound requests the site makes are to lichess.org for
opening statistics, and only from the server: your browser never talks to Lichess
directly, unless you open a line in Lichess yourself.
Contact
The fastest way to flag something is the Write a description or report a mistake form on any opening page: pick “A mistake on this page” for wrong moves, names or numbers. Reports are read, never published.
For anything else, write to info@chesscodex.org.
Site version 0.11.0.