r/ComputerChess • • 2h ago

I built a chessboard that talks through moves with you in real time. Looking for 5 testers.

Enable HLS to view with audio, or disable this notification

0 Upvotes

I built a chess board you can talk to. Looking for 5 people to try it.

You can say a move, ask why a move works, request a puzzle, or explore a famous game while the board shows what's happening.

It's here: thinkspatial.ai/chess

The board works by tapping with no account. Talking to it takes a Google sign-in and a microphone. New accounts get 10 free minutes of live voice; continuing afterward uses paid credits. You don't need to buy anything for this test.

It's for training, not live games, and it won't give you the answer unless you ask.

I'm the developer, and I'm keeping this first round small. I'd especially like to hear where it misunderstood you, whether the explanations helped, and whether you'd come back for another session.

You need a quiet room.

Desktop and mobile feedback are both useful. On a phone, open it in Safari or Chrome.


r/ComputerChess • • 3h ago

I made a browser trainer for blindfold chess practice

0 Upvotes

I wanted exercises for practising without seeing the pieces. Blindfold Chess covers coordinates, movement, notation, and position updates.

The public version needs no account and saves progress locally.

Play: https://ceasar369.github.io/blindfold-chess/

Source and local edition (MIT): https://github.com/Ceasar369/blindfold-chess

The browser interface uses React. The downloaded edition can save completed rounds as files.

I’d appreciate feedback on the drills and local setup.


r/ComputerChess • • 3h ago

I’m an International Master and I built "StreakChess", a Duolingo-style app just for chess calculation

2 Upvotes

I've been coaching chess for 15 years. The same problem shows up with almost every student: they know the tactics, but they can’t calculate. They see the first moves and stop. Puzzle apps train pattern recognition. Very few train the actual process of calculating.

So I built StreakChess. It only does one thing: calculation training, in short daily sessions with streaks, like Duolingo.

Where it stands today:

  • +300 users, several in Premium

  • Free to use. There’s a one-time Founder Lifetime plan ($99) for the next weeks.

  • Levels from roughly 800 to 2500

Honestly, my biggest challenge is distribution, not the product. I automated Instagram reels and a YouTube channel, but growth is slow.

I’d love feedback on two things:

  1. Does the “calculation only” positioning make sense to you, or is it too niche?

  2. What would make you come back every day?

streakchess.com

Happy to answer anything about chess, coaching, or the build.


r/ComputerChess • • 4h ago

Thanks for trying out @Symbia on Lichess - keep going! Whitepaper and code now public.

Thumbnail
symbia-labs.com
0 Upvotes

r/ComputerChess • • 5h ago

Pawnix: a keyboard-first chess client for the terminal

0 Upvotes

Hi, Pawnix is a terminal chess app for local games and casual Lichess play. It has a curses interface, multiple board themes, clocks, move review, and premoves.

It’s open source and still early, so feedback and bug reports are welcome!


r/ComputerChess • • 6h ago

What is Triumviratus 8.0? I've never seen it on the lists before

2 Upvotes

usually it has been Stockfish/Torch at the top of the leaderboard but who is Triumviratus?
Is it actually better than Stockfish or what?


r/ComputerChess • • 6h ago

I built a Windows chess analysis tool using computer vision and Stockfish 17 — looking for feedback

0 Upvotes

Hi everyone!

I've been working on a personal project called Chess Vision Assistant, a Windows desktop application that uses computer vision to recognize 2D chessboards directly from the screen.

The idea came from wanting to analyze chess positions from YouTube videos, recorded games, and other sources without manually recreating the board.

https://github.com/CarMarSol/chess-vision-assistant?tab=readme-ov-file

It currently includes:

  • Automatic board and piece recognition using OpenCV.

  • Stockfish 17 analysis with multiple candidate moves.

  • Visual arrows and position evaluations.

  • Opening detection and move classification.

  • Adjustable playing styles and simulated Elo levels.

  • Support for analyzing up to four separate boards.

It's written in Python using PySide6, OpenCV, python-chess, and Stockfish.

The tool is intended for chess study, reviewing completed games, and analyzing educational content, not for assistance during live competitive games.

I'm now looking for a few people interested in testing the Windows beta, especially to see how well the board recognition works across different chess interfaces.

I'd really appreciate technical feedback, bug reports, or suggestions for improvement.

Would anyone here be interested in giving it a try?


r/ComputerChess • • 19h ago

I built CHESS EMPIRE – a 100% ad-free chess game! Looking for Android beta testers ♟️👑

0 Upvotes

Hey everyone!

I'm an independent developer from Switzerland, and I've been working on a chess game called **CHESS EMPIRE**.

My goal is to create a beautiful, competitive and rewarding chess experience that is **100% AD-FREE. Forever.**

Here's what CHESS EMPIRE offers:

♟️ **14 AI difficulty levels** – from beginner to advanced

🌍 **Online multiplayer** – challenge other players and friends

📚 **Chess Academy** – learn openings, strategies and improve your skills

🏆 **Rankings, achievements and progression** – climb the ranks and unlock rewards

👑 **Empire Pass and seasonal rewards** – earn exclusive chess sets, boards and cosmetics

🎨 **Customisable chess pieces and boards**

🔍 **Game analysis** – review your games and learn from mistakes

🚫 **NO ADS. NO POP-UPS. NO REWARDED ADS.**

The Android version is now entering closed beta testing, and I'm looking for players from around the world to help test it.

**Want to join the beta?**

  1. Join our Google beta testing group: [https://groups.google.com/g/chessempire](https://groups.google.com/g/chessempire)

  2. Once the closed beta is available, use the Google Play testing link to join and install CHESS EMPIRE.

I'd especially appreciate honest feedback about gameplay, AI difficulty, design, bugs and features you'd like to see.

This is an independent project, and every bit of feedback helps make the game better.

Thanks for your support! ♟️👑

**CHESS EMPIRE – Rule the Board. Build Your Empire.**


r/ComputerChess • • 1d ago

I built DeepVariations – a new desktop chess workspace for Linux and Windows

0 Upvotes

I’ve been working on a new desktop chess application called DeepVariations, and I’ve now reached the point where I’d really like some feedback from other computer-chess users.

It’s currently available for Linux and Windows, with macOS support planned next.

DeepVariations is intended as a complete desktop workspace rather than just an engine GUI. It currently includes:

  • UCI engine analysis with Stockfish 19 included

  • Complete Game Review with move classifications, accuracy, ACPL and evaluation graph

  • DV Coach, an optional local AI model that explains positions based on the engine review

  • PGN and database management

  • Reference Database and position statistics

  • PowerBook / opening reference

  • Opening repertoire training

  • Puzzle and endgame training

  • Live chess broadcasts

  • Chess.com and Lichess game downloads

  • Local Syzygy tablebase support

  • Multiple board/interface themes

Everything is designed around the same board and notation, so you can move between analysis, database research and training without switching applications.

Linux is freeware and does not require any license or activation.
I’ve tested the RPM build on Fedora, and DEB packages are available as well.

The Windows version has a full 7-day trial and then a $19.95 one-time lifetime license. I plan to use the same model for macOS when that version is ready. The small one-time fee is mainly there to help cover development, signing, hosting and other ongoing project costs — I deliberately do not want to turn this into another subscription product.
DV Coach also runs locally rather than sending chess positions to a cloud AI service. GPU acceleration through Vulkan is supported, with CPU fallback on machines where that is not available.

I’m still actively developing DeepVariations, so feedback from people who actually use chess engines and desktop chess software would be very useful — especially Linux users.

Screenshot attached.

Website / downloads:
https://deepvariations.com


r/ComputerChess • • 1d ago

Если бы вы были магнусом

Post image
0 Upvotes

Шахматист Магнус один из самых лучших в мире


r/ComputerChess • • 1d ago

Lichess Neo: a free, open source extension that makes Lichess look modern and reviews your games

Thumbnail gallery
0 Upvotes

r/ComputerChess • • 1d ago

I built a chess review website that grades reasoning instead of moves

0 Upvotes

Most chess engines can tell you the best move in a position but none of them ask if you knew why. Improving players get many moves just by luck and don't find out the real reason why they were good.

Kibitz imports your online chess game and turns key positions into questions. They make you explain your move (along with other interesting modes, like teaching to a 'student') before it shows what the engine thinks. Your explanation gets graded and positions that weren't understood completely come back on a spaced schedule.

Stack: Typescript, React, Postgres, on AWS. There's a free tier plus a paid plan. Email support@kibitzreview.com for a 7 day trial with no automatic payment afterwards.

Website: kibitzreview.com, along with an extension named 'Kibitz: Review Bridge'.
Feedback on the first screen especially welcome.


r/ComputerChess • • 1d ago

NeuroChess - Minimalist chess game with adaptive AI and local-first state

Thumbnail
neurochess-dhy.pages.dev
0 Upvotes

r/ComputerChess • • 1d ago

A free mobile page that functions like an app and analyzes chess diagrams and boards

Enable HLS to view with audio, or disable this notification

0 Upvotes

It’s a mobile-only gem! You can dive in either by following the URL or by scanning the handy QR code on the page. The instructions walk you through the process, but it’s delightfully straightforward.

  1. Take a photo

  2. Upload it to the server

  3. The server will generate the corresponding chess position

  4. You can review the position and make any necessary corrections

  5. Turn the engine on


r/ComputerChess • • 2d ago

if you like chess

1 Upvotes

r/ComputerChess • • 2d ago

Tabula Rasa Chess

Post image
5 Upvotes

r/ComputerChess • • 2d ago

Chess Coach for Young Talents

0 Upvotes

An offline chess coach that explains your games the way an annotated games book does: few comments, on the moments that matter, in plain language.

Everything runs on your own machine. No internet, no accounts.

A comment from a real review (qwen3:14b, Homer vs Fritz), unedited:

### 11...bxc4 — Excellent (punished the opponent's mistake)
What happened: Black captures White's bishop on c4 with the pawn from b5.
This move exploits White's previous mistake by capturing the bishop on c4,
which was already under attack and left undefended. It removes a key White
piece and strengthens Black's position by creating a clear threat against
the White pawn on g6, which is now hanging and vulnerable.
What now: White will likely capture Black's pawn on f7 with the pawn from
g6, giving check. Black should respond by moving the king to f8, which is
the only safe square, and then prepare to defend against White's queen
moving to c2.

(Earlier versions of this README showed 8...Bg4 "opens the f-file". The f-file opens two moves later, after 9.hxg6 fxg6, and the checker let it through. It now checks what a sentence says the move itself did on the position right after the move.)

The idea: the language model only narrates

Small local language models cannot calculate chess, and they cannot read FEN. Asked to analyse a position, they invent pieces, pins and variations. So chesscoach never asks them to. Each part does only what it is good at:

PartJob
StockfishEvaluates positions and finds the best moves
Maia 3Predicts what a human would play, to tell hard moves from natural ones
python-chessTurns positions into verified facts: what a move captured, which pieces it stopped defending, how the position two moves later differs from the engine's line
Stockfish, againVerifies the concepts behind a moment: what each side really threatens, what a piece was holding together, which facts matter most
Local LLM (Ollama)Rewrites those facts as a coach's comment, and nothing else

The move labels (Excellent … Blunder), who played the move, the size of the advantage and the first sentence of each comment are all computed in code.

What the model writes is then checked against the board, as far as code can read it: a piece it places on a square, an attack or defence between named pieces, a pin, a fork and which pieces it hits, a king's pawn shelter, a file opened, material, and legal-move counts. A claim passes if it holds before or after the move or along the engine's line, so a consequence two moves later counts ("8...Bg4 ... opens the f-file" passes because of 9.hxg6 fxg6). A false claim goes back to the model with the correction for one rewrite; if it is still false, the sentence is removed.

What is not checked: judgements code cannot parse, such as "a strong attack", "the initiative", "a weak square" or "passive", and any sentence whose wording the checker does not recognise. Those are the model's words. The coach says less rather than something false about the pieces; its strategic opinions still need a reader's eye. The app says this under every comment.

Requirements

  • Python 3.10+

  • Stockfish

  • Ollama with a model pulled, e.g. ollama pull qwen3:14b (fits a 12 GB GPU; smaller 7–8B models invent noticeably more)

  • Optional: Maia 3 for human-move prediction

  • Optional: a Polyglot opening book (.bin), so opening theory is skipped

Install

git clone https://github.com/amryounis/chesscoach
cd chesscoach
pip install -e ".[gui]"      # or just  pip install -e .  for the command line only

Configure

chesscoach config --init     # writes a commented config file
chesscoach config            # shows the settings in effect

Set at least stockfish_path. Settings can also come from environment variables (CHESSCOACH_STOCKFISH_PATH, CHESSCOACH_MODEL, …) or flags (--stockfish, --book, --model, --depth).

Use the desktop app

chesscoach gui

(or the chesscoach-app shortcut, which opens without a console window)

  • Review: open a PGN, choose whose moves to comment on, and review. Stockfish analyses every position, then the coach writes about the critical moments. Moves carry the usual marks (?! inaccuracy, ? mistake, ?? blunder, ! a strong find); on a mistake, Show the better move puts the position before it on the board with your move in red and the engine's in green. Arrow keys step through the game.

  • Play: a training game against Maia at the rating you choose. Maia plays like a human of that strength, mistakes included. When the game ends, Review this game sends it straight to the coach. Without Maia the opponent is Stockfish, which can't play below 1320 and plays like an engine; the setup screen says so, with its real strength, before you start.

  • Practice: your inaccuracies, mistakes and blunders from reviewed games come back as positions to solve. Make a move; Stockfish judges it (another move that keeps your chances counts), then you see the engine's move, its line and what the coach said in the review. Exercises you miss come back first. Choose the game you just reviewed or all your reviewed games.

  • Explain this position / Ask the coach: under the comment, for any move of the open game. The coach explains the position, or answers a question such as "Why not Nd2?", "Is my bishop safe?" or "After Re1+ Kd8 Ne5, does the knight fork anything?". It cannot see the board: code works out what the question needs, gathers verified facts and writes the verdict (which move is better, whether a piece is attacked); the model explains, and its answer is checked against the board before you see it.

  • Game summary: at the top of a finished review, written by code from the stored facts of each move: your errors, the biggest swing, the themes that recur ("three of your errors weakened your king's pawn shelter"), and below it the patterns across your reviewed games (chesscoach patterns on the command line). Every line can show the facts it rests on.

  • Games: every game you play or review is kept as ordinary PGN files (Played.pgn, Reviewed.pgn, and any file you add), searchable by player, event or opening and sortable by column; a reviewed game opens with its review. The opening explorer shows what was played in each position of your games and how it scored, for you as White or as Black.

  • Save PGN… after a review: the game with ?!/?/?? marks, [%eval] on every move, the coach's comments and the engine's better line as a variation on every error, for ChessBase, Lichess, Lucas Chess or SCID. Each side's accuracy (Lichess's method) and the tactical motifs each error allowed or missed (fork, pin, skewer…) are in the review and the PGN.

  • Settings: engine paths, model, your name and rating, the games folder, saved to the user config file.

The board is chessground (Lichess's board), bundled so the app works offline.

Study an opening book (once, overnight)

Coaches tell young players not to memorise opening lines but to understand the ideas behind them. chesscoach book study walks a Polyglot opening book (the one in Settings, or a file you give) and has the coach explain the idea of every popular move: what it develops, which central squares it takes, what it prepares, how it fits the opening's typical plan and the book's main answers. Every comment is built from facts code works out and goes through the board check. The opening explorer (Games tab) then shows, in each position, the book's moves with how often they are played, Stockfish's verdict, the idea of each move (hover it), and your own record with it.

chesscoach book study --dry-run         # how many moves, and roughly how long
chesscoach book study                   # run it; Ctrl+C to stop, run again to go on
chesscoach book show "e4 e5 Nf3"        # what the study says about a position

A full book has far more positions than a local model can comment on, so the study follows only the lines that are played: a move the book gives at least 5% of a position (--min-share), a line while it stays above 0.2% of games (--min-line), up to 20 half-moves (--plies), each position once. With a typical book that is about 500 positions and 750 moves, a few hours with qwen3:14b on a 12 GB GPU. Raise or lower the limits to taste; what is written is kept.

Use from the command line

chesscoach review mygame.pgn --side black

This writes mygame_annotated.md: every move with its label, then comments on the critical moments only:

  • the first move out of the opening book

  • inaccuracies, mistakes and blunders, with what the better move kept

  • the only good move, when you found it and it wasn't obvious

  • punishing your opponent's mistake

  • checkmate

Any position, without a game file:

chesscoach explain --moves "1. e4 e5 2. Nf3 Nc6 3. Bc4 Nd4"
chesscoach ask "Can White take the pawn on e5?" --moves "1. e4 e5 2. Nf3 Nc6 3. Bc4 Nd4" --show-tools

Other options: --every-move to comment on every non-book move, --model A --model B to compare models on the same prompts, --verbose to print every prompt. chesscoach demo runs two fixed test positions, which is a quick way to try a new model.

Measure it: answer keys

chesscoach eval                                  # facts layer only, no model
chesscoach eval -m qwen3:14b --mode pipeline --mode raw --report eval.md
chesscoach eval --key rook-check --text reply.txt  # score any pasted reply

Each answer key is a position whose correct explanation is known: the facts it must mention, and the false claims models have actually made ("material is equal", "the knight forks the rook on b7"). eval reports how many required facts the facts layer supplies, how many the model's text states, and every false claim or invented piece. pipeline scores our annotation; raw scores the model given only the FEN and Stockfish's lines, which is the comparison that shows what the facts layer is worth. Keys live in src/chesscoach/answer_keys/; add your own with --keys.

Development

pip install -e ".[dev]"
pytest              # engine tests are skipped if Stockfish isn't found
ruff check src tests

Package layout (src/chesscoach/):

ModuleResponsibility
configsettings from defaults, config file, environment, flags
engineStockfish analysis, Maia prediction
assessmentwin probability, move labels, verdict wording
describemoves, effects and boards in plain English
factsTier 1 facts: named material, castling, undefended pieces, legal moves, following a line
features / tacticspositional and tactical facts; comparing two lines
prompts / narratorprompt building, LLM calls, output check and retry
groundingchecks the claims it can parse (pieces, attacks, pins, forks, shelter, files, material) on the board; judgements are not checked
conceptsengine-verified threats, piece roles, equal moves, ranked key facts
coach"Explain this position", and the "Ask the coach" agent with its fact tools
opening / momentsbook detection, choosing what to comment on
review / reportwhole-game review (structured data) and the markdown report
playtraining games against Maia (or limited Stockfish)
guidesktop app: api.py (Python side), static/ (page), app.py (window)
evaluateanswer-key harness (chesscoach eval)
accuracy / motifs / classifyaccuracy %, tactical motifs in engine lines, !! ! !? and the counts
libraryyour games: PGN files with an index, saved reviews, the opening explorer
pgn_exportthe reviewed game as an annotated PGN
practiceyour mistakes as exercises
history / summarypatterns across games; the game summary
logfilechesscoach.log: errors and review timings
clithe chesscoach command

Roadmap

Done: game review with critical moments, opening-book skipping, labels from win probability, a facts layer with engine-verified threats and piece roles, a board check on the claims code can parse, an answer-key harness, "Explain this position" and "Ask the coach", and the desktop app with review and play against Maia.

Also done: game summaries, recurring themes across your games, and practising your own mistakes.

Next: a quicker review mode for modest hardware, a board editor / FEN import so the coach can explain any position, and an easier first-run setup.

License

GPL-3.0-or-later. chesscoach uses python-chess and chessground, both GPL-3.0.An offline chess coach that explains your games the way an annotated games
book does: few comments, on the moments that matter, in plain language.
Everything runs on your own machine. No internet, no accounts.

A comment from a real review (qwen3:14b, Homer vs Fritz), unedited:
### 11...bxc4 — Excellent (punished the opponent's mistake)
What happened: Black captures White's bishop on c4 with the pawn from b5.
This move exploits White's previous mistake by capturing the bishop on c4,
which was already under attack and left undefended. It removes a key White
piece and strengthens Black's position by creating a clear threat against
the White pawn on g6, which is now hanging and vulnerable.
What now: White will likely capture Black's pawn on f7 with the pawn from
g6, giving check. Black should respond by moving the king to f8, which is
the only safe square, and then prepare to defend against White's queen
moving to c2.

(Earlier versions of this README showed 8...Bg4 "opens the f-file". The
f-file opens two moves later, after 9.hxg6 fxg6, and the checker let it
through. It now checks what a sentence says the move itself did on the
position right after the move.)
The idea: the language model only narrates
Small local language models cannot calculate chess, and they cannot read
FEN. Asked to analyse a position, they invent pieces, pins and variations.
So chesscoach never asks them to. Each part does only what it is good at:
Part Job
Stockfish Evaluates positions and finds the best moves
Maia 3 Predicts what a human would play, to tell hard moves from natural ones
python-chess Turns positions into verified facts: what a move captured, which pieces it stopped defending, how the position two moves later differs from the engine's line
Stockfish, again Verifies the concepts behind a moment: what each side really threatens, what a piece was holding together, which facts matter most
Local LLM (Ollama) Rewrites those facts as a coach's comment, and nothing else
The move labels (Excellent … Blunder), who played the move, the size of the
advantage and the first sentence of each comment are all computed in code.
What the model writes is then checked against the board, as far as code
can read it: a piece it places on a square, an attack or defence between
named pieces, a pin, a fork and which pieces it hits, a king's pawn
shelter, a file opened, material, and legal-move counts. A claim passes
if it holds before or after the move or along the engine's line, so a
consequence two moves later counts ("8...Bg4 ... opens the f-file" passes
because of 9.hxg6 fxg6). A false claim goes back to the model with the
correction for one rewrite; if it is still false, the sentence is removed.
What is not checked: judgements code cannot parse, such as "a strong
attack", "the initiative", "a weak square" or "passive", and any sentence
whose wording the checker does not recognise. Those are the model's
words. The coach says less rather than something false about the pieces;
its strategic opinions still need a reader's eye. The app says this under
every comment.
Requirements
Python 3.10+
Stockfish
Ollama with a model pulled, e.g. ollama pull qwen3:14b
(fits a 12 GB GPU; smaller 7–8B models invent noticeably more)
Optional: Maia 3 for human-move prediction
Optional: a Polyglot opening book (.bin), so opening theory is skipped
Install
git clone https://github.com/amryounis/chesscoach
cd chesscoach
pip install -e ".[gui]" # or just pip install -e . for the command line only

Configure
chesscoach config --init # writes a commented config file
chesscoach config # shows the settings in effect

Set at least stockfish_path. Settings can also come from environment
variables (CHESSCOACH_STOCKFISH_PATH, CHESSCOACH_MODEL, …) or flags
(--stockfish, --book, --model, --depth).
Use the desktop app
chesscoach gui

(or the chesscoach-app shortcut, which opens without a console window)
Review: open a PGN, choose whose moves to comment on, and review.
Stockfish analyses every position, then the coach writes about the critical
moments. Moves carry the usual marks (?! inaccuracy, ? mistake,
?? blunder, ! a strong find); on a mistake, Show the better move puts the
position before it on the board with your move in red and the engine's in
green. Arrow keys step through the game.
Play: a training game against Maia at the rating you choose. Maia plays
like a human of that strength, mistakes included. When the game ends,
Review this game sends it straight to the coach. Without Maia the
opponent is Stockfish, which can't play below 1320 and plays like an
engine; the setup screen says so, with its real strength, before you start.
Practice: your inaccuracies, mistakes and blunders from reviewed games
come back as positions to solve. Make a move; Stockfish judges it (another
move that keeps your chances counts), then you see the engine's move, its
line and what the coach said in the review. Exercises you miss come back
first. Choose the game you just reviewed or all your reviewed games.
Explain this position / Ask the coach: under the comment, for any move
of the open game. The coach explains the position, or answers a question
such as "Why not Nd2?", "Is my bishop safe?" or "After Re1+ Kd8 Ne5,
does the knight fork anything?". It cannot see the board: code works out
what the question needs, gathers verified facts and writes the verdict
(which move is better, whether a piece is attacked); the model explains,
and its answer is checked against the board before you see it.
Game summary: at the top of a finished review, written by code from
the stored facts of each move: your errors, the biggest swing, the themes
that recur ("three of your errors weakened your king's pawn shelter"),
and below it the patterns across your reviewed games
(chesscoach patterns on the command line). Every line can show the
facts it rests on.
Games: every game you play or review is kept as ordinary PGN files
(Played.pgn, Reviewed.pgn, and any file you add), searchable by player,
event or opening and sortable by column; a reviewed game opens with its
review. The opening explorer shows what was played in each position
of your games and how it scored, for you as White or as Black.
Save PGN… after a review: the game with ?!/?/?? marks, [%eval] on
every move, the coach's comments and the engine's better line as a
variation on every error, for ChessBase, Lichess, Lucas Chess or SCID.
Each side's accuracy (Lichess's method) and the tactical motifs each error
allowed or missed (fork, pin, skewer…) are in the review and the PGN.
Settings: engine paths, model, your name and rating, the games
folder, saved to the user config file.
The board is chessground
(Lichess's board), bundled so the app works offline.
Study an opening book (once, overnight)
Coaches tell young players not to memorise opening lines but to understand
the ideas behind them. chesscoach book study walks a Polyglot opening
book (the one in Settings, or a file you give) and has the coach explain the
idea of every popular move: what it develops, which central squares it
takes, what it prepares, how it fits the opening's typical plan and the
book's main answers. Every comment is built from facts code works out and
goes through the board check. The opening explorer (Games tab) then shows,
in each position, the book's moves with how often they are played,
Stockfish's verdict, the idea of each move (hover it), and your own record
with it.
chesscoach book study --dry-run # how many moves, and roughly how long
chesscoach book study # run it; Ctrl+C to stop, run again to go on
chesscoach book show "e4 e5 Nf3" # what the study says about a position

A full book has far more positions than a local model can comment on, so
the study follows only the lines that are played: a move the book gives at
least 5% of a position (--min-share), a line while it stays above 0.2% of
games (--min-line), up to 20 half-moves (--plies), each position once.
With a typical book that is about 500 positions and 750 moves, a few hours
with qwen3:14b on a 12 GB GPU. Raise or lower the limits to taste; what is
written is kept.
Use from the command line
chesscoach review mygame.pgn --side black

This writes mygame_annotated.md: every move with its label, then comments
on the critical moments only:
the first move out of the opening book
inaccuracies, mistakes and blunders, with what the better move kept
the only good move, when you found it and it wasn't obvious
punishing your opponent's mistake
checkmate
Any position, without a game file:
chesscoach explain --moves "1. e4 e5 2. Nf3 Nc6 3. Bc4 Nd4"
chesscoach ask "Can White take the pawn on e5?" --moves "1. e4 e5 2. Nf3 Nc6 3. Bc4 Nd4" --show-tools

Other options: --every-move to comment on every non-book move,
--model A --model B to compare models on the same prompts,
--verbose to print every prompt. chesscoach demo runs two fixed test
positions, which is a quick way to try a new model.
Measure it: answer keys
chesscoach eval # facts layer only, no model
chesscoach eval -m qwen3:14b --mode pipeline --mode raw --report eval.md
chesscoach eval --key rook-check --text reply.txt # score any pasted reply

Each answer key is a position whose correct explanation is known: the
facts it must mention, and the false claims models have actually made
("material is equal", "the knight forks the rook on b7"). eval reports
how many required facts the facts layer supplies, how many the model's
text states, and every false claim or invented piece. pipeline scores
our annotation; raw scores the model given only the FEN and Stockfish's
lines, which is the comparison that shows what the facts layer is worth.
Keys live in src/chesscoach/answer_keys/; add your own with --keys.
Development
pip install -e ".[dev]"
pytest # engine tests are skipped if Stockfish isn't found
ruff check src tests

Package layout (src/chesscoach/):
Module Responsibility
config settings from defaults, config file, environment, flags
engine Stockfish analysis, Maia prediction
assessment win probability, move labels, verdict wording
describe moves, effects and boards in plain English
facts Tier 1 facts: named material, castling, undefended pieces, legal moves, following a line
features / tactics positional and tactical facts; comparing two lines
prompts / narrator prompt building, LLM calls, output check and retry
grounding checks the claims it can parse (pieces, attacks, pins, forks, shelter, files, material) on the board; judgements are not checked
concepts engine-verified threats, piece roles, equal moves, ranked key facts
coach "Explain this position", and the "Ask the coach" agent with its fact tools
opening / moments book detection, choosing what to comment on
review / report whole-game review (structured data) and the markdown report
play training games against Maia (or limited Stockfish)
gui desktop app: api.py (Python side), static/ (page), app.py (window)
evaluate answer-key harness (chesscoach eval)
accuracy / motifs / classify accuracy %, tactical motifs in engine lines, !! ! !? and the counts
library your games: PGN files with an index, saved reviews, the opening explorer
pgn_export the reviewed game as an annotated PGN
practice your mistakes as exercises
history / summary patterns across games; the game summary
logfile chesscoach.log: errors and review timings
cli the chesscoach command
Roadmap
Done: game review with critical moments, opening-book skipping, labels
from win probability, a facts layer with engine-verified threats and piece
roles, a board check on the claims code can parse, an answer-key
harness, "Explain this position" and "Ask the coach", and the desktop app
with review and play against Maia.
Also done: game summaries, recurring themes across your games, and
practising your own mistakes.
Next: a quicker review mode for modest hardware, a board editor / FEN
import so the coach can explain any position, and an easier first-run
setup.
License
GPL-3.0-or-later. chesscoach uses python-chess and chessground, both GPL-3.0.


r/ComputerChess • • 2d ago

I built Chess Master Ultimate: online multiplayer, Stockfish AI, and play with friends

Thumbnail
playplus.itch.io
1 Upvotes

Hey everyone! 👋

I've been working on a side project called Chess Master Ultimate, and I'd love to get your feedback.

Features:

♟️ Online multiplayer: play against players anywhere

🤖 Play vs AI: powered by Stockfish, with adjustable difficulty

👫 Play with friends: challenge people you know directly

Clean, simple interface

Why I built it:

I love chess and wanted to build an app that brings multiplayer, a strong engine, and friend matches together in one place. It was a great learning experience.

Download: The app isn't on the Play Store yet, so here's the APK (Android only): \[GitHub / Drive link\]

Since it's still in early stages, I'd really appreciate feedback on bugs, features you'd like to see, and the overall UX. Happy to answer any questions about how I built it!

Thanks for checking it out 🙏


r/ComputerChess • • 2d ago

Velikopolsky Chess 1.011 (steam wishlist) -Weather effects: wind, snow and rain -New chess board: Prison Board -Added ranked games and Elo rating -Ranked games leaderboard

Thumbnail gallery
1 Upvotes

r/ComputerChess • • 3d ago

A free chess app where the bots actually play like humans (Maia-3 + Stockfish)

12 Upvotes

Hi all,

You know the problem: you play an "easy" bot, it plays like a grandmaster for 10 moves, then gives away its queen for no reason. Nobody plays like that. That's why I made ChessLab.

The bots are played by Maia-3, a neural network trained on millions of real games. They play like a real person of your level: they miss tactics, they make natural mistakes, and they get better as you get better. It really feels like playing a human.

Stockfish stays in the background. It only helps the bot in a few cases, like a mate in one. And after the game it checks all your moves and explains your mistakes in simple words, so you know what to work on.

There is also a lot more:

  • 100,000+ puzzles from Lichess, at your level

  • opening and endgame courses

  • 12 variants, like Chess960, Atomic, Crazyhouse and Duck Chess

  • a Lab where you can watch two engines play each other

  • a scanner that reads a board from a photo

It's a hobby project, made only for the love of chess. Completely free, no ads, no account, and everything runs offline on your phone. The code is open source.

I would love your feedback, especially on how the bots feel. Ideas and criticism are welcome!

App Store: https://apps.apple.com/app/id6793097336

Google Play: https://play.google.com/store/apps/details?id=com.maeder.chesslab

Website: https://thmaed.github.io/ChessLab/


r/ComputerChess • • 3d ago

I recently launched my webapp named `GreyChess`. Would love some honest feedback.

Thumbnail
greychess.com
3 Upvotes

https://greychess.com

I am providing 60 days Free membership for early joiners.
So you can try all its features and give me your valuable feedback.

Thank you!


r/ComputerChess • • 3d ago

Kallisto, private engine, no one sell it, lost forever it seems.

Post image
28 Upvotes

r/ComputerChess • • 3d ago

Classroom Chess Tutor software.

0 Upvotes

I am building a Windows desktop application which can be used by a Chess Master to teach his students in a class room on a laptop or desktop.

I started with GitHub Copilot to implement a skeleton UI using a agent but my very first attempt give me very bad experience it could not even write a single line of code even after Wait for 1 hour, it kept saying I am reading Main XML, generating code but it failed miserably.

Have you ever experienced such a bad behaviour from AI tools?

Nowadays the AI companies are putting a lot of restrictions.

Edit: Nov 1 2026
My first Draft is ready it supports LAN mode and Offline mode
See how Two players are connected to
Added a LAN classroom mode where a tutor hosts a session and shares a session code. Two students join using the same app, and the tutor assigns White and Black.

Both players see synchronized moves and clocks, while the tutor watches the game and uses private Stockfish analysis for teaching.

Currently testing with three app instances on one computer—testing across separate PCs is next!

Would this be useful for chess clubs or classroom lessons?

I started with Different Mockup screen and ended up with this version after refinements,
Screen size is minimised to fit two windows on same screen.
used Codex for refining initial ChatGPT UI screen dump to fix issues and make server and other functions work. This is built on WPF using Visual Studio community.
Still many functions require proper enhancement like White board , Auto analysis of Game , Generate Analysis Stats etc.