Sep 2026 Both apps are in active development — waitlist members get the early trial first. Join the waitlist →

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 PeterPbatch 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.

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.

Why this matters to us

People who share make the world better.

Every library below was written by someone who could have kept it to themselves — and chose not to. Committed people sharing their skills and code are, quite simply, how the world keeps getting better. The chess community is richer for them, and so are we.

An honest word about price. I would truly love to give SwissMax and ChessZCam away for free, the way these projects were shared with me. But I am one independent developer and a parent, and my child's chess journey has only just begun. Without some income from this work, that journey — and this project — could stall.

So the apps will be paid, and I promise to keep the price as low as I possibly can. The aim is not to get rich. It is to give my child a wider experience of chess, to keep improving these tools, and to make them affordable for the chess community that needs them. The price itself is not decided yet — the waitlist will hear first.

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.

ProjectLicenceWhat it does for us
ChessCam / CameraChessWeb
Peter (Pbatch) and contributors
AGPL-3.0The 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 ChessCamThe neural networks that find the board corners and recognise every piece in the camera image.
LeYOLO
Lilian Hollard
AGPL-3.0The small, efficient object-detection architecture the ChessCam models are built on (arXiv:2406.14239).
Ultralytics YOLO
Ultralytics
AGPL-3.0The training framework underneath LeYOLO, used upstream to train the models.
Nobuco
Alexander Lutsenko
MITConverted the trained PyTorch models into TensorFlow.js so they can run on a phone.
TensorFlow.js
Google & contributors
Apache-2.0Runs the detection models on the device's GPU, in the app and in Studio.
ONNX Runtime
Microsoft & contributors
MITRuns the models natively on Android for the experimental native video engine.
Delaunator
Mapbox
ISCTriangulates detected grid points to locate the board.
vectorious
Mateo Gianolio
MITMatrix maths for the perspective warp.
ProjectLicenceWhat it does for us
Stockfish
The Stockfish team and contributors
GPL-3.0The engine behind evaluations, best moves, move grades and accuracy.
stockfish.js
Nathan Rugg / Chess.com
GPL-3.0The WebAssembly build that lets Stockfish run offline inside the app.
chessops
Niklas Fiekas
GPL-3.0-or-laterChess rules: every detected move is checked for legality and written as SAN, FEN and PGN.
Lichess chess-openings
Lichess contributors
CC0-1.0The offline opening book that names each opening and its ECO code.
Lichess lila & scalachess
Lichess
AGPL-3.0 / MITThe 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-laterThe interactive chessboard in review, repair and the Live console.
ProjectLicenceWhat it does for us
React & React Router
Meta & contributors
MITThe user interface of the app, Studio and Live console.
Redux Toolkit & redux-persist
Redux maintainers
MITApp state, saved between sessions.
Bootstrap
Bootstrap team
MITBase styles and components.
react-draggable
react-grid-layout
MITDraggable board-corner markers.
Capacitor
Ionic
MITTurns the app into the Android app with native plugins.
AndroidX CameraX
Android Open Source Project
Apache-2.0Native camera recording on Android.
Electron
OpenJS Foundation & contributors
MITThe Windows shell for ChessZCam Studio and ChessZCam Live.
FFmpeg
FFmpeg developers
LGPL-3.0-or-laterEncodes the finished overlay video in Studio.
FFmpeg-Builds & OpenH264
BtbN · Cisco
MIT · BSD-2-ClauseThe Windows FFmpeg build and H.264 encoder Studio uses.
ws
ws contributors
MITThe local-network hub between the phone and the PC console.
node-qrcode
Ryan Day
MITQR codes for pairing a phone with the PC.
fix-webm-duration
Yury Sitnikov
MITRepairs the duration of browser-recorded videos.
vite-plugin-pwa & Workbox
Vite PWA · Google
MITKeeps the app working offline in halls without internet.
ProjectLicenceWhat it does for us
CBurnett chess pieces
Colin M.L. Burnett
CC BY-SAThe default 2D piece set.
Celtic, Eyes, Fantasy & Spatial piece sets
Maurizio Monge
Free for chess programsExtra 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.1The typefaces in the app, exports and broadcast overlay.
ProjectLicenceWhat it does for us
Chess Analyzer Pro
imutkarsht
MITEarly ideas for move classification and accuracy.
EloInsight
rajutkarsh07
MITThe idea for a single-game performance estimate.
ChessReviewEngine
H0NEYP0T-466
MITThe first idea for detecting 'brilliant' sacrifices.
ProjectLicenceWhat it does for us
Electron
OpenJS Foundation & contributors
MITThe Windows desktop shell SwissMax runs in.
React
Meta & contributors
MITEvery screen, and the premium graphics exported as images.
SheetJS Community Edition
SheetJS
Apache-2.0Reads registration and ranking spreadsheets (XLSX, XLS, ODS…).
Papa Parse
Matt Holt & contributors
MITReads CSV/TSV files and data pasted from Google Sheets.
write-excel-file
catamphetamine
MITWrites the review and results workbooks for Swiss-Manager.
PDF.js
Mozilla
Apache-2.0Reads PDF registration lists and rankings.
JSZip
Stuart Knightley & contributors
MITBuilds the ZIP packages: import packs, pairings, certificates.
node-qrcode
Ryan Day
MITQR codes for LAN scoring phones and signature capture.
flag-icons
Panayiotis Lipiridis
MITCountry flags in the pairing graphics.
Lucide
Lucide contributors
ISCThe interface icons.
Tailwind CSS & clsx
Tailwind Labs · Luke Edwards
MITThe app's styling system.
ProjectLicenceWhat it does for us
Manrope, Space Grotesk, Bebas Neue, Orbitron, Oxanium, Cinzel
Their type designers, via Fontsource
OFL-1.1Interface, certificate and graphic typefaces.
DigitaltS fonts
Gluk
OFL-1.1Scoreboard-style digits on certificates and graphics.
ProjectLicenceWhat it does for us
FIDE Rating Regulations
FIDE
RegulationsThe formulas behind the estimated rating changes.
FIDE rating list
FIDE
Public dataOffline lookup of FIDE IDs, titles and ratings.
MCF rating list
Malaysian Chess Federation
Public dataMatching Malaysian players' MCF IDs and ratings.
Chess-Results
Heinz Herzog
WebsiteImporting published pairings and final rankings from tournament links.
Swiss-Manager XML import format
Heinz Herzog
Published formatThe player and result files SwissMax prepares for Swiss-Manager.
ProjectLicenceWhat it does for us
Vite, TypeScript, electron-builder, Vitest
Their maintainers
MIT · Apache-2.0Building, testing and packaging the Windows installer.
ProjectLicenceWhat it does for us
Inter
Rasmus Andersson
OFL-1.1Body text on zonchess.com.
Orbitron
Matt McInerney / The League of Moveable Type
OFL-1.1Headings on zonchess.com.
FFmpeg & Pillow
FFmpeg developers · Pillow contributors
LGPL · HPNDPreparing 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.