◆ Methodology
About Chesscope
Why this exists
Building a serious opening repertoire from a player’s own games should be a five-minute exercise, but the existing tools each cover only part of the problem. They look at one platform at a time, treat the same position reached via different move orders as separate lines, ship without an engine, and lean on book-move APIs that have become rate-limited or sign-in-walled. Coaches, parents, and players end up tab-juggling between half a dozen sites and still miss theory. Chesscope merges Lichess and Chess.com into one transposition-aware tree, runs Stockfish locally in the browser, caches built trees on your device, and lets you save specific positions and share lines by URL, the analysis loop people already do, without the friction. Broadcast game search is here too, for when the game you’re looking for never lived on a personal account.
Where the data comes from
The bulk of the corpus is the official Lichess broadcast PGN dump, released under the Creative Commons Attribution-ShareAlike 4.0 license. Each game preserves the original
BroadcastURL tag, so every result links back to the canonical Lichess study. Future sources (Chess.com archives, TWIC, federation broadcasts) will be added as separate ingestion paths.How search works
Player name lookups use SQLite’s FTS5 with a trigram tokenizer, which gives substring and typo-tolerant matching even on names that have inconsistent transliteration. Game search uses the porter stemmer over the player, event, and opening fields. Results are ranked by BM25 with activity as the tiebreaker.
Repertoire Explorer
Beyond broadcast search, Chesscope can build any player’s full opening tree from Lichess and Chess.com in a single view, pre-game scouting, self-review, coaching prep. Pull every game a user has played across both platforms, click any move to drill in, see win-rate and performance stats per position.
- Combined sources Lichess and Chess.com merged into one tree, no flipping between two sites.
- Stockfish 18 NNUE runs locally in the browser, multi-PV, click any line to play it out on the board.
- Per-position stats performance rating, score percentage, opponent strength, longest/shortest lines, last played.
- Lichess opening explorer for book theory at every position, with single-game drill-in. Connect your Lichess account to enable.
- PGN upload supported. Trees can be saved to a
.treefile and reloaded later.
Coverage
- Games1,129,033
- Players145,543
- Tournaments551,985
- Latestøøøø.øø.øø
Updating
The index refreshes weekly via a GitHub Actions cron that pulls the latest broadcast dump, parses it streaming, and upserts new games to the database. Reruns are idempotent, game IDs are content hashes, so the same game is never indexed twice.
What's next
Beyond broadcast search, the platform is intentionally extensible: the schema accepts non-Lichess sources via the
source column, so adding chess.com archives, federation PGNs, or even private coaching corpora is a question of writing another ingestion script. Suggestions welcome.Source code
Chesscope is fully open source. Read the code, file an issue, or send a pull request on GitHub.
License & attribution
Game data inherits the CC BY-SA 4.0 license of the Lichess broadcast dump. The Chesscope code itself is open source under the GNU General Public License v3 the Repertoire Explorer is a re-architecture of openingtree.com (also GPL v3), so chesscope inherits that copyleft. When in doubt, attribute Lichess.