Hi, I'm Shingo Suzuki, also known as Suzushin.
Recently, I released Caltrilo, a web app that automatically creates tactics puzzles from your own chess game records so you can review them. I've now added the AI play feature I mentioned in the previous article, letting you play against Stockfish. I've also made several smaller fixes and added other features.
In this article, I'd like to introduce what's new in Caltrilo. I'll play a game against Stockfish and walk through the review and puzzle-generation process.
The app has more to offer than before, and I hope you'll enjoy the additions.
Why I added AI play to Caltrilo
The first version of Caltrilo focused on analysis and puzzle generation. It didn't have a way to play games. Instead, you imported your game records, had them analyzed, and reviewed the puzzles generated from them.
But wouldn't it be ideal to go through the whole cycle in one app: play → analyze → practice puzzles → review → play again? That was why I said in the previous article that I planned to add AI play.
The app is primarily intended for use with games played on Chess.com or Lichess. But I imagine some people find playing against other people intimidating.
That gave me the idea of adding a more approachable way to play against Stockfish. The game records from those games can then be analyzed and used to generate puzzles, just like games against human opponents.
In other words, the app can now take you all the way from playing a game to reviewing it.
Four features I've added or improved
Here are the features I've added or improved:
- Playing against Stockfish
- Revised puzzle-generation rules
- Suggested practice schedules
- More detailed review features
The main addition is the ability to play against Stockfish. You can choose your color, the time control, and an approximate strength level, so you can play against an AI that suits your level.
Previously, puzzle generation focused on positions where you or your opponent had made a mistake. The new rules also include positions that seem especially worth reviewing. Specifically, that includes positions where you spent a long time thinking, and positions where you found the best move in the game but where a review still seems worthwhile.
The aim is to reflect on your decisions and use what you learn in your next game. A position might be selected because there was room for a better decision, the decision was difficult, you want to repeat a good decision, or there's a specific theme to learn from.
The practice-schedule feature suggests how to divide your available practice time between playing games, analysis, and puzzle practice. Your actual practice time is saved as statistics, which you can check on the Review screen.
The review feature shows your puzzle accuracy by theme, based on the puzzles you solved correctly or incorrectly. By “themes,” I mean tactical ideas such as hanging pieces, missed mates, forks, and pins. This lets you see which types of puzzles you struggle with.
I've also added statistics for practice time, learning records, changes in your Chess.com and Lichess ratings, and wins and losses, including games against the AI. I think this makes it easier to look back on your progress over time.
Trying a game against the AI, then reviewing and practicing
I'll try a game against Stockfish myself and show you the process from playing to reviewing.
Playing one game against Stockfish
To play against the AI, you choose your color, the time control, and the strength, shown as an approximate rating. For this game, I chose White, 30 minutes, and an approximate rating of 800.
I'm using a computer here, but you can use a phone too.

Here's what the game looks like in progress. The screen displays the board, the moves, and the remaining time. The layout is similar to Chess.com or Lichess.

Reviewing the game and checking interesting positions
Analysis starts automatically when the game ends. After a short wait, you're taken to the analysis screen. There, you can step through the moves you played and check the changes in the evaluation and the best moves.
Let's look at the position shown in the game screenshot above. I played Bg5, but apparently Bg3 was the best move. I had a reasonably favorable position, but the evaluation dropped a little.
I went on the attack, but it seems this was a position where I should have played a quiet move. To be honest, though, I don't really understand why a quiet move was called for here. Perhaps that will become clearer as I learn more.

After looking through the game, I found that I'd apparently missed mate in seven. At my current level, I think finding mate in seven on my own would be asking a bit much! Still, there's a lot to learn from it.
Solving puzzles generated from my game
Now let's see what kinds of puzzles were created from that game. Here's an example. Have a go at solving it yourself.

Have you had a think? I think the first move is relatively easy to see. The tricky part is the second move.
…
The solution is bxa3 for White, followed by 0-0 for Black, then Bg3 for White. Explanations are also provided for the continuation, so you can check how the position develops afterward.
However, what you can view in the app is generally limited to game records you've imported or games you've played against the AI. This example comes from a private AI game of mine, so readers won't be able to open the explanation for this particular puzzle in the app.
Checking the suggested practice schedule
The practice-schedule feature works in a very simple way. You specify roughly how much time you want to practice, and the app calculates and displays suggested amounts of time for games, analysis, and puzzles. The allocation puts more emphasis on puzzle practice.
Your actual practice time is tracked, and you can check the statistics later on the Review screen. Alongside the usual tactics-practice mode, I've also added a mode that focuses on themes you struggle with.

When I tried it myself, I spent longer on puzzle practice than expected. That's because I often take my time reading the explanations after solving a puzzle.
On the other hand, each game was shorter than I'd expected, so I may end up spending less time playing. Perhaps playing more games would be a useful way to make up the difference?
In any case, I'd suggest treating the schedule as a rough guide.
My impressions, and what I'd still like to improve
The big change is that I can now go through the loop I originally wanted: play → analyze → practice puzzles → review → play again. Even if playing against other people feels intimidating, trying a game against the AI can feel more approachable.
The revised puzzle-generation rules also give me more positions to review. I'm hopeful that this will make practice more effective.
It's good that the app has more features now. But deciding how to organize the interface has become a new challenge.
“What layout would make the app easier to use?”
“What information would be helpful to show?”
I'd like to keep using it myself and refine those details.
I'll continue spending time with the app and see whether it actually helps me improve at chess. I'm hoping it will become a useful companion for my GM challenge!
Connecting each game to the next practice session
In this article, I've introduced an update to Caltrilo, my web app for automatically generating tactics puzzles from your own game records. Alongside the existing features, I've added AI play and several other useful tools. With these changes, the app can now support the whole process from playing to reviewing.
Going forward, I'd like to keep using it, adding features I find myself wanting and making smaller improvements. I also plan to take users' suggestions into account.
Please give the updated Caltrilo a try. You can use almost all of its features for free—AI games, analysis, puzzle practice, and review—with a limit of five puzzles per day. A paid plan removes the puzzle limit.
I'd love to hear what you think. If you try it for a while and share your feedback, I'd really appreciate it. I'll use that feedback to help guide future development!
