Speed, Smarts, and a Memory Upgrade for Rookify
002 - Cutting analysis times by 90% and laying the groundwork for an AI coach that never forgets.
Hey folks, welcome back.
This week, I noticed that the game analysis pipeline was dragging its feet and taking roughly 3–7 minutes to import and analyse a single game from Chess.com. Way too slow for my liking, especially for an application that will require roughly 50-100 games to build a reliable player profile for each user.
The bottleneck?
Stockfish + the LLM engine were analysing every single move in depth, one at a time, with zero parallel processing. Thorough? Yes. Efficient? Not at all.
🛠 What I Implemented
Parallel Stockfish Processing
I spun up a pool of 4 Stockfish instances running in parallel. Now multiple moves can be analysed at the same time.Batch Processing
Instead of processing one position at a time, the system can now chew through up to 50 positions simultaneously.Smart Filtering
The LLM layer now focuses only on the moments that matter—brilliancies, blunders, and key learning opportunities—rather than wasting cycles on low-impact moves.
📈 The Results
⏱ Speed – Game analysis time dropped from 3–7 minutes to 20–40 seconds.
💰 Cost – OpenAI API usage dropped by 80–90% thanks to selective LLM analysis.
🎯 Focus – Output is cleaner, highlighting the moves with the most game impact and learning potential for the user.
🧠 Giving Rookify a Memory (MCP Foundations)
One of Rookify’s big selling points will be emotional intelligence—it won’t just tell you what you did wrong, it’ll remember who you are as a player, where you struggle, and how you like to be coached.
To make that possible, I’m building something called a Model Context Protocol (MCP). In plain English, it’s the long-term memory layer for Rookify’s AI coach.
Here’s the vision:
It remembers you – Your rating history, playstyle, common mistakes, and even the tone of feedback you prefer.
It updates after every session – Analyses, drills, and coach interactions automatically refine your “chess profile.”
It makes feedback personal – Advice comes from your history, not a blank slate.
You stay in control – You can view, edit, or reset your coaching memory any time.
It gets smarter over time – Lessons, puzzles, and recommendations evolve as you do.
The MCP will operate across three interconnected layers, each adding its own piece to the puzzle:
1. Structured Memory: Your Chess DNA
At the foundation will be a sophisticated PostgreSQL schema—more than just a static user profile. It will capture:
Playing History – How your rating and skill have evolved.
Style Profile – Aggressive attacker, calm positional player, or somewhere in between.
Common Patterns – Mistakes you repeat.
Current Focus – The skills you’re actively developing.
And because improvement is as much emotional as technical, it will also track:
Frustration Tendency – How you respond to setbacks.
Preferred Feedback Style – Gentle encouragement or “tell it like it is.”
Motivation Triggers – What keeps you playing.
Learning Pace – Rapid iteration or slow, deliberate study.
This combination of chess data and emotional insight will turn Rookify into a coach that understands how you learn best—not just what you need to learn.
2. Vector Intelligence: The Why and the How
Structured data will explain what happened; vector intelligence will reveal why.
Using Pinecone, Rookify will create multidimensional embeddings—mathematical fingerprints of your play. Over time, these form your personal chess constellation, capturing nuances no flat stat sheet could.
This will enable:
Style Matching – Find and learn from similar players.
Weakness Detection – Spot tactical or strategic blind spots.
Opening Recommendations – Suggest openings that align with your strengths.
Targeted Training – Generate exercises to fix recurring issues.
3. The Coaching Loop
Here’s how I envision all the MCP layers coming together to form Rookify’s coaching loop:
User syncs latest games – You connect your Chess.com or Lichess account, and Rookify pulls in your most recent games.
Rookify analyses the games – The system runs the moves through Stockfish and applies smart filtering to identify key learning moments. At the same time, it retrieves your MCP profile—your playing history, style profile, focus areas, and emotional preferences.
Rookify updates your profile in the memory layer – Based on your new games, the MCP automatically updates your chess DNA: rating trends, style shifts, recurring mistakes, and emotional patterns.
Rookify gives personalised feedback & training – Using that updated profile, the LLM generates feedback that’s specific to your style and goals. Instead of a generic: “Blunder on move 17.”, you will instead get….
“You’re an aggressive player who tends to overextend in the middlegame. In this game, you pushed too early in the center—let’s break down a calmer alternative.”
You play more games – Armed with that personalised feedback and targeted training drills, you go back to playing—and the loop starts again.
By keeping this loop running, Rookify will constantly refine its understanding of you, ensuring every bit of feedback gets sharper, more relevant, and more in tune with your personal chess journey.
⚠️ The Challenges Ahead
Building and maintaining this MCP won’t be all sunshine and rainbows. Here are some hurdles I expect to tackle in the near future.
The Cold Start Problem – New players will have no memory. The plan: Analyse their first few games in depth to quickly build an initial profile, then refine it over time.
Memory Drift – Players evolve. The plan: Use a weighted history where recent patterns count more, but still keep the highlights of past breakthroughs.
Scaling Costs – Vector operations can get pricey. The plan: Use caching and batch processing to keep things snappy and cost-effective.
Privacy & Trust – The data will be rich, but players must feel safe. The plan: Make all memory data 100% user-visible, user-controlled, and user-deletable.
🎯 What’s Next
Next week, I’ll be:
Making sure this MCP implementation works the way I intend for it to.
Polishing the frontend game analysis page (it needs a lot of love right now).
Start working on one of Rookify’s key USP features, powered by ML—a feature that also happens to be the most requested in my feedback survey.
(You’ll hear more about that one very soon 😉)
Thanks for reading,
– Anthon
Chief Vibes Officer @ Rookify
By the way, if you’re a chess player, I’d love to hear about your own improvement journey.
What’s been frustrating? What’s actually helped? And what kind of innovations do you wish existed in the chess world? If you’ve got 3–5 minutes to spare, please fill out this short survey—it would mean a lot and will directly help shape how Rookify evolves.
Thanks again
👏🏽👏🏽👏🏽