You won this, but you were losing it twice before you were winning it — and both times it was a fast move in a good position walking into a jump you had not checked for.
David missing the finish three times is why the full point came home; be honest that it was there for him long before it was there for you. The two moves that handed it back — a capture and a castle — carry the same fingerprint, and they are the ones worth keeping even out of a win.
13...Nxf4 — the capture that skipped the in-between check
Taking the bishop on f4 looks free, and it very nearly cost you the game: Ba4+ comes with check, and after Ba4+ Ke7 Qxf4 Nd5 Qh4+ Kd6 your king is stranded in the open and White is +3.8. Be7 was the quiet, correct move, holding it level. David played the plain 14.Qxf4 and never found the check, so it went unpunished — but the move was a blunder whether or not he collected. Before any recapture, look for the opponent's in-between move first. Here it was a check, and it was winning.
17...O-O — 14 seconds, straight into it
David had just thrown it back to you with 17.c3; you were -1.8 and genuinely winning. Then, in 14 seconds, you castled kingside — and Nxg6 was winning for White again, your king arriving on g8 exactly as the knight jump tore open f7 and the h-file. O-O-O was the move: the king belongs on the queenside here, away from that knight and the bishop on b3. One move, and -1.8 became +2.9. This is the fire alarm your file keeps ringing — the fast, natural move in a position that was not forcing you to do anything. When you are winning, the threat is not the hard move. It is the easy one.
18...Qe7 — what it looks like when you slow down
When David missed Nxg6 for the last time with 18.Rd1, you did not miss your turn. 18...Qe7 was the engine's first choice — quiet, everything defended, nothing loose — and from there you never let go. The rooks did the rest: 22...Rd2 onto the second rank, and when David tried 23.Nc4 you found 23...Nxc4, the only move that held the win, and the invasion finished on f2. That whole stretch was clean, engine-grade conversion — the same skill that went missing on move 17. The only thing that changed was that you took your time.
Profile check
Same miss as last time? Yes — 17...O-O is the winning-position scan failing in the exact shape we have been chasing: a quiet, already-good position, a quick move, a jump you did not name. Same family as the fork you missed at +2.9 in the Dutch, just pointed the other way — this time it was your own king that got hit. And the old pessimism? Nowhere in sight; you knew you were better throughout. That half is holding.
What to drill next
- This position — Black to move from 17, winning. Find O-O-O, not the castle that feels natural, three times against the engine.
- Convert a winning position — your whole file points here: when it is already won, find the move that keeps it won.
- The in-between move — the check you missed on 13...Nxf4 lives here. Look for it before you recapture.
When it feels won, spend the extra ten seconds to name David's best reply before you play the natural move — that ten seconds is the entire distance between move 17 and move 18.