From 1950 to 2400: How Building an Opening Trainer Made It Possible
Four years stuck at 1950, a notebook that grew faster than I could review it, and the trainer I built for one user – me – that became OnlyMove.
6 min read

The Openings I Learned as a Child
I started playing chess at four, long before computers could challenge humans. The openings I learned back then – 1. e4 as White and the French Defense against it – still define my play today.
By the time I was around ten years old, I had already reached a strong club level. Soon afterward, I moved on to computer games and IT, and chess disappeared from my life for more than twenty years. This was before online chess – if you weren’t part of a club, there wasn’t really anywhere to play.
Returning to Chess – and Getting Stuck
Around 2017, I discovered online chess and have been playing ever since.
For the next four years, however, I was stuck at around . Every time I crossed 2000, I would celebrate, only to fall back almost immediately – sometimes below 1800.
Openings were a big part of the problem. As White, the Sicilian scared me; as Black, the English did too.
Eventually, I started using the analysis tools available on Lichess. In many positions, my moves simply didn’t make sense.
After fixing only a small part of my repertoire, my rating jumped to around .
Why Notes and Memorization Were Not Enough
After that improvement, I tried to study openings more systematically.
First, I tried memorizing lines directly. That didn’t work. If I studied too many variations, the different permutations became confusing, and I could rarely recall the correct continuation during a game.
Then I created a large OneNote notebook filled with screenshots, analysis, and opening trees. I reviewed it every few weeks, hoping the repetition would make the information stick.

It helped for a while, but the notebook gradually became a monster. Reviewing everything required more and more time, while the results became less noticeable.
I would reach a position during a game, make a mistake, and only afterward realize: Right, that position was in my notes.
That was when I realized I needed a different approach – not more notes, but a better way to train.
Building a Trainer for One User
In early 2025, when the ChatGPT o1 model became available, I finally had the tools to start building the project that would eventually become OnlyMove.ai.
My original goal wasn’t to create a public product. I wanted to learn more about web development while solving my own opening problem.
The first version was simple. It repeatedly drilled me on the lines I had selected. It didn’t look especially polished, and it had exactly one user – me.
But it worked.
After two or three months, I was happy enough with the trainer that I continued using it without making many changes. By the end of 2025, my repertoire contained around 700 prepared positions, my rating had continued to grow, and I for the first time had reached .
From 700 to More Than 1,300 Positions
In early 2026, the release of Opus 4.6 and a new generation of AI coding tools brought me back to the project. I was looking for a pet project where I could go all in and really push the limits of what these tools could do.
Once again, I wasn’t planning to launch a product. At the same time, the project gave me an opportunity to address problems and ideas that I had collected while using the original trainer.
More importantly, I stopped merely touching 2350 before falling back. I began reaching it consistently.
I also noticed a meaningful change in my games. Instead of regularly leaving the opening at a disadvantage, I often came out with an advantage. Sometimes it was a material advantage. Other times, it was simply extra time on the clock because I already understood the position and knew what to play.
Recent features, including automatic game analysis and suggested repertoire improvements, have made the process even faster. Every game can now reveal gaps in my preparation and help strengthen my repertoire for the next one.

Building Something I Could Share
Eventually, I decided to open the trainer to other players.
Thinking about other players also changed how I looked at the application. I started considering features that I had previously dismissed because I had already developed personal workarounds.
For example, I had always used Lichess for analysis, so I initially didn’t think the trainer needed its own analysis experience. Once I added one, however, I realized how much easier it was to remain in the same application instead of constantly jumping between different tools.
Many features that I originally imagined would be useful only to other players became part of my own daily workflow.
Reaching 2400
Somewhere along the way, I reached for the first time.
It was a number that had once felt completely out of reach. More importantly, the result didn’t come from memorizing a handful of tricks or briefly running well. It came from gradually building, testing, and reinforcing a repertoire that now contains more than 1,300 positions.
The application started as a personal experiment – a way to learn web development and solve my own frustration with opening preparation. It eventually changed the way I learn and play chess.
I’m not currently planning to charge for the opening trainer. My goal is to keep it free, including for players who want to build very large repertoires.
OnlyMove.ai began as a tool with one user. Now I’m opening it up in the hope that it can help other players experience the same shift – from fearing unfamiliar openings to entering games prepared, confident, and ready to play.
- #improvement
- #openings
- #spaced-repetition
- #fsrs