# Where do I actually blunder?

My last hundred online chess games: 49 wins, one draw, 50 losses. I know I blunder. What I could not say is *which* blunders, how often, or whether I am getting any better.

<figure class="mfig shot"><img class="lt" src="img/dashboard.png" alt="A summary of my chess mistakes. Four numbers across the top: 173 mistakes, 95 of them blunders, 1.7 per game, 34 percent of winning chances lost on average. Below, a ranked list headed What you keep missing, starting with Punishing a blunder: missed in 55 of 156 chances, 5.6 times my normal rate."><img class="dk" src="img/dashboard-dark.png" alt="A summary of my chess mistakes. Four numbers across the top: 173 mistakes, 95 of them blunders, 1.7 per game, 34 percent of winning chances lost on average. Below, a ranked list headed What you keep missing, starting with Punishing a blunder: missed in 55 of 156 chances, 5.6 times my normal rate."><figcaption>The answer, from my last hundred games (the top three of six). The number on the right of each row says how many times more often than usual I fail that pattern. The rest of this post is about how to get to a list like this one honestly.</figcaption></figure>

**The problem.** A chess site shows me the best move in one game. A coach would see the pattern across all of them. I wanted a tool that reads every game I play, finds the moments where I gave the game away, and tells me what keeps happening.

**This post** is about that tool, called Blindspot, and about the order I built it in. First came flashcards, then a way to find my own mistakes, then a ranking that turned out to be wrong, then a fixed one. The fixed one says something I did not expect. I am not bad at spotting danger. I am bad at taking what my opponent hands me.

## It started with flashcards

I already use Anki, a flashcard program that shows a card again just before you would forget it. Chess puzzles never stick for me. I solve one, feel clever, and never see it again. So the first project was an add-on, which I called Knightly, that puts a real board on the card. You move the pieces, the card tells you whether you were right, and Anki decides when you see it again.

<figure class="mfig shot narrow"><img class="lt" src="img/card-correct.png" alt="A chess puzzle card. A white knight has just moved to c7, forking the black king and rook; the square is green with a tick. Below the board a green banner says Correct, watch the reply."><img class="dk" src="img/card-correct-dark.png" alt="A chess puzzle card. A white knight has just moved to c7, forking the black king and rook; the square is green with a tick. Below the board a green banner says Correct, watch the reply."><figcaption>A card. Drag or tap the piece. A right move turns the square green for a second, a wrong one red, and then the card moves on or lets me try again.</figcaption></figure>

Small details mattered more than I expected. The card waits a second after my move so I can read the verdict. A wrong move stays on the board for that second before it snaps back, so I see what I did. And when I am right, the card goes straight to the answer, with no extra button to press.

One rule came from being annoyed. Sometimes I found a different move that was just as good, and the card marked me wrong. Now the card asks Stockfish, the strongest chess program there is, and if it rates my move about as good as the stored one, I am right.

<figure class="mfig shot narrow"><img class="lt" src="img/card-engine.png" alt="The answer side of a puzzle card. A tall bar to the left of the board shows who is better. Under the board, three lines of Stockfish's best ideas, each with a score, and buttons to step back and forward through the moves."><img class="dk" src="img/card-engine-dark.png" alt="The answer side of a puzzle card. A tall bar to the left of the board shows who is better. Under the board, three lines of Stockfish's best ideas, each with a score, and buttons to step back and forward through the moves."><figcaption>The answer side, with Stockfish one tap away. The tall bar shows who is better, the three lines are its best ideas, and I can step back and forward through the moves.</figcaption></figure>

## The cards were someone else's positions

The cards worked, but they were puzzles from strangers. What I needed to learn were my own positions: the ones where I actually lost. That changed the question from "how do I get better at tactics?" to "where do I lose?"

So I dropped the add-on idea and built an app that starts from a chess.com username.

## Blindspot reads my games and sorts my mistakes

I type a username. The app fetches my public games and has Stockfish look at every move. A move counts as a mistake when it gives away a large share of my winning chances compared with the engine's choice.

Then it labels each mistake. There are about a hundred labels, in three families. **What I missed**: a fork, a free piece, a mate. **What my move allowed**: leaving a piece hanging, walking into a pin. **The circumstances**: opening or endgame, how much time I had, whether I was winning. Each label has a plain name, a colour and an icon, so a page of mistakes can be scanned instead of read.

<figure class="mfig shot wide"><img class="lt" src="img/mistake.png" alt="One of my mistakes on a chessboard, with a green arrow showing the better move. To the right, a card titled What kind of mistake lists coloured labels: discovered attack and a quiet best move under What you missed, knight move, middlegame, plenty of time, from a better position, as Black, in a game you lost."><img class="dk" src="img/mistake-dark.png" alt="One of my mistakes on a chessboard, with a green arrow showing the better move. To the right, a card titled What kind of mistake lists coloured labels: discovered attack and a quiet best move under What you missed, knight move, middlegame, plenty of time, from a better position, as Black, in a game you lost."><figcaption>One of my mistakes. The green arrow is the move I should have played. The labels on the right say what went wrong and in what situation. “Try it” lets me play the better move myself.</figcaption></figure>

<figure class="mfig shot"><img class="lt" src="img/patterns.png" alt="A grid of labelled tiles under the headings What you missed and What your move allowed. Each tile has an icon, a name such as Knight fork or Hung a pawn, a small bar and a count. Tiles for things that never happened are greyed out."><img class="dk" src="img/patterns-dark.png" alt="A grid of labelled tiles under the headings What you missed and What your move allowed. Each tile has an icon, a name such as Knight fork or Hung a pawn, a small bar and a count. Tiles for things that never happened are greyed out."><figcaption>The labels, with how often each shows up in my games. Greyed-out tiles never happened. Each tile opens the positions behind it.</figcaption></figure>

Everything runs in the browser. Only my username leaves the computer.

## My first ranking was wrong

My first version just counted labels. The top of the list looked sensible: “ignored a threat” second, “needed a defence” third. And about 70% of my mistakes came with plenty of time on the clock.

That last number should have warned me. Most of my moves come with plenty of time, so most of my mistakes would too. Counting how often a label appears among my mistakes mixes two things: how weak I am at something, and how often it comes up.

The fix is to count **chances**. For every move I played, the app asks what the engine's best move offered, a fork, a free piece, a defence, and whether I took it. A blind spot is then a pattern I fail far more often than I slip on an ordinary move, which for me is 6% of moves. Three of my first top six disappeared. “Ignored a threat” became 17 failures in 467 real threats: 4%, below my normal. Plenty of time: 6%, the same as every other moment.

## What my games say

*Measured on my last hundred games, mostly fast blitz, played over about six weeks.*

**I do not punish my opponent's mistakes.** After my opponent blundered, I failed to take advantage in 55 of 156 chances: 35%, more than five times my normal rate. Part of that is that I am usually better in those positions, and I slip more when I am ahead. Allowing for that, it is still roughly three times.

**I slip when I am winning.** From a winning position I make a mistake every nine moves, against one every sixteen overall. I am steadier when I am worse. I am also solid in openings, in endgames and against stronger opponents.

**A few specific misses.** Discovered attacks (15 of 75 chances), trapping a piece (10 of 65), knight forks (8 of 52).

<figure class="mfig shot"><img class="lt" src="img/slip.png" alt="Two cards side by side. Where you slip: Middlegame, From a winning position, From a better position and Long think, still wrong, each with one mistake every eight to ten moves. Where you are solid: Opening, From a worse position, Daily games, Against a stronger player and Endgame, each well below my average."><img class="dk" src="img/slip-dark.png" alt="Two cards side by side. Where you slip: Middlegame, From a winning position, From a better position and Long think, still wrong, each with one mistake every eight to ten moves. Where you are solid: Opening, From a worse position, Daily games, Against a stronger player and Endgame, each well below my average."><figcaption>Left: where I slip. Right: where I am solid. “One mistake every N moves” is set against my average, one in sixteen.</figcaption></figure>

My guess, and it is only a guess: when my opponent blunders, or when I get ahead, I relax and stop looking for the next idea. The test to run is to slow down in exactly those moments and see whether the numbers move.

## Mistakes become cards

The app can turn my own mistakes into Anki cards. The card shows the position before the mistake, and I have to find the move I missed. Each card carries the label of its pattern, so I can study one pattern at a time, such as only the knight forks.

Not every mistake makes a good card. My first deck had a card where I was a rook down and the “best” move was a knight sacrifice that only just held the balance, after a long forced sequence. Probably correct, and useless to learn from. Now every candidate gets a second, deeper look. It is dropped if several moves are nearly as good, if the best move only shows up after long calculation, or if the win depends on a long forcing line. I checked 77 candidates, dropped 14, and the deck has 60 cards.

## A way to check a move before I play it

The third piece is a detector. I set up any position and make a move. Stockfish tells me at once whether the move was the best, fine, or a blunder, what kind of mistake it was, and how often I have made that kind before.

<figure class="mfig shot wide"><img class="lt" src="img/detector.png" alt="A chessboard where a white queen has just captured a pawn on h7 and sits on a red square with a cross. A red banner reads Qxh7+, Blunder, minus 82 percent. Two rows compare my move, minus 5.8, with the engine's choice, plus 6.7. Below, labels such as Hung the queen and Moved into an attack, each with how many earlier mistakes of mine were the same kind."><img class="dk" src="img/detector-dark.png" alt="A chessboard where a white queen has just captured a pawn on h7 and sits on a red square with a cross. A red banner reads Qxh7+, Blunder, minus 82 percent. Two rows compare my move, minus 5.8, with the engine's choice, plus 6.7. Below, labels such as Hung the queen and Moved into an attack, each with how many earlier mistakes of mine were the same kind."><figcaption>I took a defended pawn with my queen. The bar on the left drops, the verdict is “Blunder”, and the labels say what kind it was and how many of my earlier mistakes were the same kind.</figcaption></figure>

This is for study. Using an engine during a live game is cheating, and I do not do it.

## Is it working?

This is the question that matters. For each blind spot, the app compares my older games with my recent ones and says how likely the difference is to be luck. It is cautious on purpose: it says “getting better” only when luck is unlikely.

<figure class="mfig shot"><img class="lt" src="img/progress-list.png" alt="A list of my blind spots, each with a small trend line and a verdict badge. Punishing a blunder: 32 percent to 40 percent of chances, Looks like it is getting worse. Discovered attack: no clear change. Minor-piece sacrifice: 28 percent to 12 percent, Looks like it is improving. Pawn fork: not enough chances yet."><img class="dk" src="img/progress-list-dark.png" alt="A list of my blind spots, each with a small trend line and a verdict badge. Punishing a blunder: 32 percent to 40 percent of chances, Looks like it is getting worse. Discovered attack: no clear change. Minor-piece sacrifice: 28 percent to 12 percent, Looks like it is improving. Pawn fork: not enough chances yet."><figcaption>Each blind spot, early against recent. Next to every verdict is the chance that the difference is just luck.</figcaption></figure>

<figure class="mfig shot"><img class="lt" src="img/progress-chart.png" alt="A line chart of how often I failed to punish a blunder, in six blocks of games from mid September to late October. The line stays between about 20 and 45 percent, with vertical whiskers showing uncertainty, far above a dashed line at my average slip rate of 6 percent."><img class="dk" src="img/progress-chart-dark.png" alt="A line chart of how often I failed to punish a blunder, in six blocks of games from mid September to late October. The line stays between about 20 and 45 percent, with vertical whiskers showing uncertainty, far above a dashed line at my average slip rate of 6 percent."><figcaption>One blind spot over time. Each dot is a block of games and the grey whisker is how uncertain it is. The dashed line is how often I slip on an ordinary move.</figcaption></figure>

The honest answer is not yet. My mistakes went from 7% to 6% of moves, but there is a 22% chance that is luck. Blunders did not move. The cards are a day old, so what I have is a starting line, not a result. I have set the day I began studying them. In a few weeks there will be games on both sides of that date, and a fair comparison.

## What this cannot tell me

- It is one player, one hundred games, mostly blitz. Another hundred could rank things differently.
- The labels are the program's best reading of the board, not a verdict. Some are wrong, and I have not yet measured how often.
- A mistake here is a move that gives up a fifth or more of my winning chances, by the engine's judgement. A different cut-off would give different counts.
- Even a clear improvement would not prove the cards caused it.
- I have only used the cards on my computer. The phone version is untested.

So why do I lose half my games? Not for lack of seeing danger. The data point at two habits: not cashing in when my opponent errs, and loosening up once I am ahead. Both can be practised, and now I can tell whether they are changing.
