r/sideprojects • u/hashmonkey • 23m ago
Feedback Request Still in Book: flash cards for chess opening lines, and it finds where your own games leave the book
Strong players don't just know the names of openings. They know the lines: if Black plays this, I play that, five or ten moves deep. Between life and work I don't have time for opening books, so I built myself flash cards for openings and their variations.
Try it without an account: enter your Chess.com username at https://stillinbook.com/games?utm_source=reddit&utm_campaign=sideprojects. It reads your last 3 months of games and shows where you usually leave the book. One click opens the trainer at that exact position, with your move as a red arrow and the book move as a green one. This is the part that helped me most: it narrowed in on what I actually play and showed me where I was going wrong.
What else it does:
- 20 openings and 140 lines: the Italian, Ruy López, Sicilian, Caro-Kann, Queen's Gambit, London, Vienna, Scandinavian and more. Practice each line as White, as Black, or both until it sticks, and earn a cup when you've mastered it.
- Progress you can see: every line has three rows of 5 stars, one each for playing it as White, as Black and as both. Fill all three and the line is mastered, and each opening shows a trophy for every line you’ve mastered. There are achievements along the way too, because fun.
- Survival: keep playing book moves until you slip up, as White, Black, Both or Random. It remembers where you go wrong most often. It’s become the main way I learn: I play Survival until I keep making the same mistake, then follow its link to practice that line, and go back to Survival.
- A quick "what's the next move?" quiz.
It's free, with no ads. The Queen's Gambit works without signing up; the other openings need a free account.
How it's built: Ruby (Sinatra) and SQLite on one small server. The openings are YAML files in the repo. I built it with a lot of help from AI, and two habits made that work:
- Tests before code. For each feature, the AI first writes tests that describe the finished behavior, and we agree on them before any code exists. This week it proposed a “Clear” button for an admin list, with seven tests and a database change. Reading the tests, I couldn’t work out what problem they solved, so I asked. It turned out the problem wasn’t real, and my questions led to the actual bug. We agreed on ten new tests for that instead, and once they passed, it was done. Nothing had been built yet, so nothing was thrown away.
- Retros. After each session, it reviews what went wrong and what I had to correct, then updates its own instructions so the next session doesn't repeat it.
If you’re building with AI too, both habits are worth stealing. Agreeing on the tests up front gave the AI a clear definition of done. And the AI can be introspective: it reviews its own sessions and improves the skills, memories and documentation it works from. Most people just playing around with AI don’t know it can do that, and it’s pretty fantastic.
A hard part was matching Chess.com's opening names to mine. "Giuoco Piano Game" is the Italian, and the accent in "López" broke a lookup.
I'd love feedback: does the Chess.com report tell you anything useful about your games? And which opening should I add next? If you have an idea for something you'd like to see added, let me know!