Thank you & credits
Built on the generosity of people we have never met.
SwissMax and ChessZCam exist because others chose to share their skill, their time and their code with the world. This page is our thank-you to every one of them — 57 projects and counting.
A special thank-you
To Peter — creator of ChessCam.
ChessZCam began with ChessCam, the open-source project by Peter — Pbatch on GitHub, also known online as BlindfoldBlunderer. ChessCam showed that an ordinary camera pointed at an ordinary board could follow a real game of chess. Its board-finding and piece-detection pipeline, the models Peter trained, and the app it was built as are the foundation everything in ChessZCam grew from.
When I first wrote to Peter to ask whether I could build on ChessCam, I honestly did not know if I would ever hear back. The reply was friendly, generous and genuinely inspiring. I am not exaggerating when I say that without that reply, ChessZCam would probably have stayed a dream in my head. Peter, thank you — for building ChessCam, for sharing it openly, and for the kindness of that answer.
Pbatch/CameraChessWeb
“Record a chess game live and upload the PGN to Lichess” — the ChessCam source code and model reports.
Visit the repository → LIVE APPchesscam.net
Try Peter's original ChessCam in your browser.
Open ChessCam →Thanks also to the ChessCam contributors — Conor Shepherd, tdr24008, DakshHandeCode, ChessScholar, JohnP-1, Abdullah Khetran, Tejas Raman, Dani Springer, Lucas Cox, squiddible — for their research, design, documentation, security and bug reports, and to Lilian Hollard for LeYOLO, the architecture Peter's models are built on.
The projects we build on
With gratitude, and with their licences.
Each project remains under its own licence and belongs to its authors; follow the links to their work. If we have missed you or described your work incorrectly, please tell us and we will put it right.
| Project | Licence | What it does for us |
|---|---|---|
| ChessCam / CameraChessWeb Peter (Pbatch) and contributors | AGPL-3.0 | The project ChessZCam grew from: board-corner finding, board warping, piece detection, square scoring, move matching, and the original app and library stack. |
| ChessCam detection models Peter (Pbatch) | Published with ChessCam | The neural networks that find the board corners and recognise every piece in the camera image. |
| LeYOLO Lilian Hollard | AGPL-3.0 | The small, efficient object-detection architecture the ChessCam models are built on (arXiv:2406.14239). |
| Ultralytics YOLO Ultralytics | AGPL-3.0 | The training framework underneath LeYOLO, used upstream to train the models. |
| Nobuco Alexander Lutsenko | MIT | Converted the trained PyTorch models into TensorFlow.js so they can run on a phone. |
| TensorFlow.js Google & contributors | Apache-2.0 | Runs the detection models on the device's GPU, in the app and in Studio. |
| ONNX Runtime Microsoft & contributors | MIT | Runs the models natively on Android for the experimental native video engine. |
| Delaunator Mapbox | ISC | Triangulates detected grid points to locate the board. |
| vectorious Mateo Gianolio | MIT | Matrix maths for the perspective warp. |
| Project | Licence | What it does for us |
|---|---|---|
| Stockfish The Stockfish team and contributors | GPL-3.0 | The engine behind evaluations, best moves, move grades and accuracy. |
| stockfish.js Nathan Rugg / Chess.com | GPL-3.0 | The WebAssembly build that lets Stockfish run offline inside the app. |
| chessops Niklas Fiekas | GPL-3.0-or-later | Chess rules: every detected move is checked for legality and written as SAN, FEN and PGN. |
| Lichess chess-openings Lichess contributors | CC0-1.0 | The offline opening book that names each opening and its ECO code. |
| Lichess lila & scalachess Lichess | AGPL-3.0 / MIT | The published method for win-chance, move-grade thresholds and accuracy that ChessZCam's analysis follows. |
| kokopu-react & kokopu Yoann Le Montagner | LGPL-3.0-or-later | The interactive chessboard in review, repair and the Live console. |
| Project | Licence | What it does for us |
|---|---|---|
| React & React Router Meta & contributors | MIT | The user interface of the app, Studio and Live console. |
| Redux Toolkit & redux-persist Redux maintainers | MIT | App state, saved between sessions. |
| Bootstrap Bootstrap team | MIT | Base styles and components. |
| react-draggable react-grid-layout | MIT | Draggable board-corner markers. |
| Capacitor Ionic | MIT | Turns the app into the Android app with native plugins. |
| AndroidX CameraX Android Open Source Project | Apache-2.0 | Native camera recording on Android. |
| Electron OpenJS Foundation & contributors | MIT | The Windows shell for ChessZCam Studio and ChessZCam Live. |
| FFmpeg FFmpeg developers | LGPL-3.0-or-later | Encodes the finished overlay video in Studio. |
| FFmpeg-Builds & OpenH264 BtbN · Cisco | MIT · BSD-2-Clause | The Windows FFmpeg build and H.264 encoder Studio uses. |
| ws ws contributors | MIT | The local-network hub between the phone and the PC console. |
| node-qrcode Ryan Day | MIT | QR codes for pairing a phone with the PC. |
| fix-webm-duration Yury Sitnikov | MIT | Repairs the duration of browser-recorded videos. |
| vite-plugin-pwa & Workbox Vite PWA · Google | MIT | Keeps the app working offline in halls without internet. |
| Project | Licence | What it does for us |
|---|---|---|
| CBurnett chess pieces Colin M.L. Burnett | CC BY-SA | The default 2D piece set. |
| Celtic, Eyes, Fantasy & Spatial piece sets Maurizio Monge | Free for chess programs | Extra selectable piece styles. |
| Board colour schemes omgchess | — | Several classic board colour themes. |
| Inter, IBM Plex, JetBrains Mono, Archivo, Barlow, Chakra Petch, Cinzel, Rajdhani Their type designers, via Fontsource | OFL-1.1 | The typefaces in the app, exports and broadcast overlay. |
| Project | Licence | What it does for us |
|---|---|---|
| Chess Analyzer Pro imutkarsht | MIT | Early ideas for move classification and accuracy. |
| EloInsight rajutkarsh07 | MIT | The idea for a single-game performance estimate. |
| ChessReviewEngine H0NEYP0T-466 | MIT | The first idea for detecting 'brilliant' sacrifices. |
| Project | Licence | What it does for us |
|---|---|---|
| Electron OpenJS Foundation & contributors | MIT | The Windows desktop shell SwissMax runs in. |
| React Meta & contributors | MIT | Every screen, and the premium graphics exported as images. |
| SheetJS Community Edition SheetJS | Apache-2.0 | Reads registration and ranking spreadsheets (XLSX, XLS, ODS…). |
| Papa Parse Matt Holt & contributors | MIT | Reads CSV/TSV files and data pasted from Google Sheets. |
| write-excel-file catamphetamine | MIT | Writes the review and results workbooks for Swiss-Manager. |
| PDF.js Mozilla | Apache-2.0 | Reads PDF registration lists and rankings. |
| JSZip Stuart Knightley & contributors | MIT | Builds the ZIP packages: import packs, pairings, certificates. |
| node-qrcode Ryan Day | MIT | QR codes for LAN scoring phones and signature capture. |
| flag-icons Panayiotis Lipiridis | MIT | Country flags in the pairing graphics. |
| Lucide Lucide contributors | ISC | The interface icons. |
| Tailwind CSS & clsx Tailwind Labs · Luke Edwards | MIT | The app's styling system. |
| Project | Licence | What it does for us |
|---|---|---|
| Manrope, Space Grotesk, Bebas Neue, Orbitron, Oxanium, Cinzel Their type designers, via Fontsource | OFL-1.1 | Interface, certificate and graphic typefaces. |
| DigitaltS fonts Gluk | OFL-1.1 | Scoreboard-style digits on certificates and graphics. |
| Project | Licence | What it does for us |
|---|---|---|
| FIDE Rating Regulations FIDE | Regulations | The formulas behind the estimated rating changes. |
| FIDE rating list FIDE | Public data | Offline lookup of FIDE IDs, titles and ratings. |
| MCF rating list Malaysian Chess Federation | Public data | Matching Malaysian players' MCF IDs and ratings. |
| Chess-Results Heinz Herzog | Website | Importing published pairings and final rankings from tournament links. |
| Swiss-Manager XML import format Heinz Herzog | Published format | The player and result files SwissMax prepares for Swiss-Manager. |
| Project | Licence | What it does for us |
|---|---|---|
| Vite, TypeScript, electron-builder, Vitest Their maintainers | MIT · Apache-2.0 | Building, testing and packaging the Windows installer. |
| Project | Licence | What it does for us |
|---|---|---|
| Inter Rasmus Andersson | OFL-1.1 | Body text on zonchess.com. |
| Orbitron Matt McInerney / The League of Moveable Type | OFL-1.1 | Headings on zonchess.com. |
| FFmpeg & Pillow FFmpeg developers · Pillow contributors | LGPL · HPND | Preparing the videos and images you see on this site. |
Swiss-Manager, Chess-Results, FIDE, MCF, Lichess, Stockfish and all other names are the property of their respective owners and are mentioned only to credit their work; zonChess is independent and not affiliated with or endorsed by them.
Thank you
To everyone who shares — terima kasih.
If you maintain one of these projects and ever pass through a chess hall in Malaysia, the teh tarik is on us.
