I lose the same way every time. I just could not see it.
That is the honest version of why I started this. I had been playing seriously for a long time, my rating had flattened, and every post-game engine review told me the same unhelpful thing. Move 23 was an inaccuracy. Move 31 was a blunder. Both correct. Neither useful.
An engine grades moves. It does not tell you that you have lost the same kind of game fourteen times since spring because you keep walking into a structure you do not know how to play.
That pattern is not in any single game. It is spread across all of them.
Why reviewing your own games does not work
Every improving player is told to study their losses. Most of us do, in a way. You open the game, click through the engine line, nod at the blunder, close the tab. You learn something local and forget it by the weekend.
The limitation is not effort. It is scale.
One game gives you a moment. Two hundred games give you a tendency. But nobody sits down and reads two hundred of their own games looking for a common thread, because by game forty you have lost track of what you noticed in game six.
So I stopped trying to review games and started trying to review myself.
Getting 200 games somewhere an AI could read them
I exported my full history. Just over 200 PGN(Portable Game Notation) files.
PGN is plain text, which makes this sound easier than it is. Dropping 200 of them into a chat window means spending your context on move notation before the model has thought about anything, and you run out of room somewhere in the thirties. Uploading them one session at a time means the model has no memory of the previous batch, which defeats the entire point. The whole question I wanted answered only exists across the full set.
So I put them into VaultSage first. The files go in once and get processed once. What comes out the other side is something a model can query instead of something it has to re-read.

Connecting it to ChatGPT
Because VaultSage connects to AI agents directly, I never copied or pasted a game. The games stayed where they were. The model asked for what it needed.
That distinction mattered more than I expected. It is the difference between handing someone a stack of paper and giving them a library card.
The questions that actually mattered
The analysis was only as good as what I asked. Engine questions produced engine answers. The useful ones were the questions an engine cannot take:
- What do my losses have in common?
- Which openings produce my worst results by score, not by how they feel?
- At what point in a game do my positions typically start going wrong?
- Given all of this, what should I actually study next?
What it found
I expected a list of mistakes. What came back was closer to a diagnosis.
The blunders were not random. They clustered. Certain positions produced them repeatedly, which meant the problem was not that I had missed a tactic on move 31 but that I kept arriving at move 31 in a position I did not understand well enough to navigate. An engine had flagged every one of those moments individually. None of them had ever added up to anything until they were read together.
The repertoire assessment was less flattering and more useful. Openings I thought were fine were producing my worst results. Openings I avoided were not the problem I assumed they were. Feel and record did not agree, and the record was right.
Two conclusions stuck.
The first was a recommendation to pick up the Caro-Kann, on the grounds that I was losing too many games out of the opening in positions that punished imprecision. Solid structures, fewer early disasters.
The second was less comfortable. It gave me a realistic read on where I actually was and what the climb to the 1300 to 1500 range would take. Not a pep talk. A workload.

The title
A few months later I earned my first FIDE title: Arena Candidate Master.
It is worth being precise about what that is, because chess players will be. ACM is an online title awarded through FIDE Online Arena, based on rated play on that platform. It is not the same thing as an over the board Candidate Master, and I am not going to pretend otherwise. The same analysis that told me what to study also told me plainly that over the board titles are a matter of years of structured work, not a quarter of good habits.
I still took the certificate personally.
What I keep thinking about
None of this required new information.
Every one of those 200 games was already mine. Every mistake in them was one I had made myself, saved in a file, on a drive I owned. The knowledge was not missing. It was just unreadable at that size, by me and by any model I handed it to a few games at a time.
That is the part that generalizes past chess. Most people are not short on data about themselves or their work. They are short on a way to ask it a question that spans more than a handful of files.
I found mine by accident, trying to stop losing to the same pawn structure.
VaultSage: vaultsage.ai
Frequently Asked Questions
What is FIDE?
FIDE (Fédération Internationale des Échecs) is the international governing body for chess. It oversees world championship competition, maintains the official rating system, and awards player titles.
What is an Arena Candidate Master (ACM)?
ACM is a title awarded through FIDE Online Arena, FIDE's official online play platform. It is earned by reaching a rating threshold in rated online games. It is a recognized FIDE online title and is distinct from over the board titles such as Candidate Master or FIDE Master, which require norms and rated play in physical tournaments.
Can AI analyze chess games better than a chess engine?
They answer different questions. An engine evaluates positions and identifies the best move in a given position, which no language model matches. A language model reading a large set of your games is useful for the other question: what recurring patterns explain your results. Used together, the engine finds the error and the analysis finds the habit.
How do you analyze a large number of PGN files with AI?
The obstacle is context, not format. PGN is plain text, but a few hundred games exceeds what a chat session holds at once, and splitting them across sessions removes the cross-game comparison that makes the exercise worthwhile. Processing the files once into a queryable store, then connecting an AI agent to it, keeps the full set available to every question.
