Version 3.0

The substrate is complete.

Notation v3 ships the full coaching-pedagogy architecture. Eight measurement axes running on every position. Three coaching frameworks choosing what to teach and when. A rebuilt game review that works entirely on-device. And a voice that only speaks when there's something worth saying.

Available now on the App Store · £2.99

Eight axes. Every position.

Every position you analyse is measured across eight structural axes — computed per-position, per-game, and rolled up across your entire history. Calibrated against 21 super-GMs across roughly 800 games, so the app knows what "good" looks like at the highest level, not just relative to your own play.

Mobility

How much each piece can do.

Vulnerability

Which pieces are exposed to capture or attack.

Centre Control

Who owns the centre, and which kind of centre.

Coordination

How well the pieces work together.

Speed

How fast pieces can reach where they're needed.

Time

Tempo budget and forcing-move discipline.

Flexibility

How many viable plans the position keeps alive.

Aagaard Predicates

Where are the weaknesses? What's the worst piece? What's their plan?

The first seven come from Dan Heisman's Elements of Positional Evaluation. The eighth operationalises Jacob Aagaard's three positional questions plus Jonathan Tisdall's seed-pieces concept. Together they give Notation a structural vocabulary no other chess app has.

Fifteen coaching frames.

Jeremy Silman's twelve coaching emphasis frames plus three Flexibility additions from Heisman. When the app comments on a position, it's choosing from a defined coaching vocabulary — attack-the-target, improve-the-bad-piece, force-the-issue, exercise-patience, convert-the-advantage — not generating a generic explanation.

A rule-precedence engine decides which frame to lead with at each moment. If multiple coaching points fire simultaneously, the rules know which one matters most for that position type. The same hierarchy serious coaches use.

Pedagogy-led, not engine-led. When Stockfish's preferred move and the coaching point diverge — which happens often in positional positions — Notation teaches the coaching point and explicitly acknowledges the engine difference. No hidden disagreement, no engine-numbers-as-truth.

Game Review, rebuilt from scratch.

The headline feature in v3.

On-device by default

Every game gets a coherent review without any LLM call, any API key, any internet connection. Template-driven narrative against the substrate. Free, fast, private.

Nadia upgrade — one and done

When you want depth on a specific game, upgrade once and the richer review becomes the kept artefact for that game. No per-game toggling, no daily limits, no anxiety about cost.

Conservative attention

Nadia comments on at most six moments per game. Not every move, not every inaccuracy — just the moments where there's something genuinely worth saying. Keeps reviews readable and respects your time.

Three-layer narrative

Top verdict. Per-moment walk-through with terse on-device prose for ordinary moves and Nadia commentary at the moments that matter. Takeaways at the bottom. PDF export of every review — print it, email it to a coach, keep it.

The review walks through your game the way a human coach would — focused on the moments you can learn from, honest about what went well, quiet about the rest.

Player Profile, rebuilt.

Two-tier dashboard. Style axes — aggression, tactical alertness, positional play, endgame — sit at the top as trait-level claims about who you are as a player. The seven Heisman elements sit below as the evidence supporting those claims.

Each style axis is derived from the substrate via measured feature transitions, not handcrafted heuristics. Every value carries a confidence band — insufficient data, partial confidence, full confidence — so you know when a claim is provisional.

Full-screen iPad treatment. PDF export that's a real coaching report — cover with verdict, style profile, per-axis deep dives, Aagaard predicate findings, and a narrative summary generated by Nadia. Not a printable dashboard. A document you could hand to a coach.

Opponent Scouting, rebuilt.

Scout reports now surface the full eight-axis substrate. Not just style labels — measured data with cohort context across mobility, vulnerability, centre control, speed, time discipline, coordination, flexibility, and Aagaard predicate patterns.

How-to-play-against framing. The report leads with the opponent's character, then their specific weaknesses, then concrete preparation suggestions. Generated by Nadia against the substrate — same pedagogy-led discipline as the game review.

Matchup Reports.

Player-vs-opponent comparison across all eight axes. Where you're stronger, where they're stronger, what that means for how the game is likely to play out.

Weakest-phase resolver identifies which game phase the opponent is most exploitable in. Both sides use the same substrate-grounded style derivation, so the comparison is honest — no measurements derived differently on each side.

Nadia's voice, tightened.

Not "AI commentary" with chess vocabulary bolted on. Specific architectural commitments:

Substrate-grounded

Every claim Nadia makes traces to a measured field. She doesn't invent observations the data doesn't support.

Terse by design

Most moves don't need commentary. Nadia attends to relevant moments and stays out of the way otherwise.

Honest about disagreement

When pedagogy and engine diverge, Nadia says so plainly. "Stockfish prefers Nf6 for the immediate tactical gain, but the coaching point is the longer-term coordination."

No engine-as-oracle

Nadia leads with what to learn, not with what Stockfish prefers.

Under the hood.

Analysis backfill consolidated — a per-moment evaluation cache means analysers query the cache instead of re-running engine work. Materially faster import-and-analyse cycles, especially on long games and large historical imports.

Substrate-write integrity hardened. Five independent code paths write the mistake-record canon; v3 unifies the schema so all five produce equivalent rows with no silent divergence.

CloudKit-permanent migrations done deliberately. Two schema migrations shipped after full investigation-first locks — because CloudKit-permanence-once-live means schema decisions are forever. Slow on purpose.

Your next game
deserves a coach.