I am addicted to playing chess on chess.com. Part of it is their streak system (I have a 193 day streak at this time), and the other part of it is a kind of sunk cost fallacy - I haven't been getting better but still keep playing in the blind hope that I will get better automatically.

But the rational part of me knows that nothing happens unless you do it intentionally. So some time ago, I built Altmove to learn chess in a structured manner.

My only learning tool till then was the game review functionality in chess.com. However, for me, a post-facto review of moves and mistakes isn't very intuitive. It is too late, too detached, too I-already-lost-and-I-don't-care. My ideal learning tool was a real time tutor which highlights my mistakes as I make them and points me to a better move. Choosing this new move now splits this game into a new parallel universe where I made the better move. I can then see what happens from here on out. The game itself evolves with real time tips.

So that's the USP of Altmove. In-game coaching (identifies mistakes as you make them) and the possibility of pursuing an alternate, better move (hence the name). When you make a mistake, the game shows you a better move and allows you to branch into a new board with that move so that you can explore the what-ifs.

A new player's jouney has 6 steps of progression from "Newcomer" to "Expert" tied to their ELO scores. Progression to a higher level is based on two criteria:

  1. Minimum number of games
  2. Consistent ELO score above the current level's cutoff in those games

Both these are aimed at preventing promotion based on a lucky streak. You have to play better consistently to get promoted. However, once promoted, you won't get demoted (since that would demotivate players). This is to bring in rigour and milestones to what can otherwise seem like an endless journey of seeking mastery.


Altmove is built with AI but does not use an AI engine for gameplay. Chess is a deterministic thing - I don't want the AI playing random moves or giving incorrect advice. The computer uses the Stockfish chess engine at different levels of difficulty (depending upon the player's level) to train you. This gives a far more crisp, precise experience than an LLM could give. And it keeps the system free to run.

Even so, I have added an option to drop in your own Claude API key to make the interaction with the computer more chatty and human-like. If you add your key, each move is analyzed both by stockfish as well as the LLM (which will add cost on the key and makes the system a little bit slower). The choice of good/bad move is still determined by Stockfish, but the LLM gives much more humanlike feedback on the move. It's more fun, but at the added expense of the LLM.

The API key is encrypted and stored on the backend so that it can be used if you play from multiple devices.


The intent for building Altmove was never to build a rival for chess.com or lichess. These are superb platforms for playing Chess. Altmove focusses on learning because that is where I felt these platform were not focussing much. I intend it to be the FIIT-JEE to their IIT entrance exam.

To that end, you can import your chess.com or lichess games into Altmove. Altmove will analyze them, show you your mistakes, and offer an alternate move in that place. More fun is the ability to replay (restart) that game from any move, and now with the beenefit of hindsight, play it out with new moves against Altmove as a sort of alternate history to see, i.e. what could have happened if that one move was different.


Altmove is entirely vibe-coded using Claude Opus 4.5 for the most part. I have seen very little of its code, though I have played it enough myself and reviewed things enough to be satisfied with latency and bugs. Thats said, drop a comment if you find an issue.

For most of my time on chess.com, I was stuck at a rapid score of ~600. I have been playing both altmove and chess.com for the last months or so now. Still playing casually and indifferently, but my score has now lurks around 750. Most of this because the interrupt-me style experience of Altmove has made more conscious of my usual mistakes like hanging pieces and standard checkmate gotchas.

Check it out and let me know what you think. I'd love to hear more about how I can it better as a learning tool.