Caitlin Wilks

Programming language and tech skills polyglot

cat@cat.bio
github.com/catchouli

Better Tactics

Better Tactics is a Chess tactics trainer that uses the concept of Spaced Repetition to help you master chess tactics. The idea is to help you gain calculation experience and tactical pattern recognition by repeating puzzles over time. Puzzles you've seen will get queued up for review daily, and puzzles you find hard will be repeated more frequently, while puzzles you find easy will be repeated far less often to make the process more efficient.

How it works

When you complete a puzzle, the difficulty score you select will be used to calculate how long it should be until you see the puzzle again, and also to update your rating. The scores are interpreted as follows:

  • 'Again' means that you failed to solve the puzzle on the first and need to review it again in the near future, in which case the Spaced Repetition algorithm will set the puzzle to be 're-learned', and you'll see it again the same day.
  • 'Hard' meaning that you found the solution but that it was quite challenging, in which case you'll see the puzzle again in about the same amount of time since you last saw it.
  • 'Good' is the neutral answer for a successful review, and the one that should be used primarily. After picking it the puzzle's review interval will be increased, and you'll see it less and less frequently over time.
  • 'Easy' indicates you didn't find the puzzle very challenging at all, and is a good hint to the algorithm that you don't need to see it again very soon at all, and will cause its review interval to increase significantly.

The review button for each difficulty shows you the amount of time until you'll see that puzzle again if you pick that difficulty.

The difficulty you select is also used to calculate you a rating, according to the difficulty level of the puzzle, and how difficult you found it. 'Good' reviews will cause your rating to grow slowly over time, while 'Again' or 'Easy' reviews may cause larger swings in your rating. Initially, the algorithm will be very uncertain about your rating, and you may experience large swings, but this allows it to quickly find the right rating level for you as it becomes more and more accurate with each puzzle you complete. The rating algorithm used is Glicko2, a common rating system for online chess and competitive games.

Acknowledgements

Made using Rust, warp, and askama. The Spaced Repetition algorithm used is the SuperMemo 2 Algorithm.

The puzzles are sourced from the lichess puzzles database, which is amazing. Thanks, Thibault and the lichess community!

The chess board is also lichess's open source chessground chess board component, and the legal move detection and uses chess.js.

Viewing project details for Better Tactics, take me back to projects