Settings

Theme

Show HN: Notation – an iOS chess coach (Stockfish on device and optional BYOK)

notationchesscoach.app

1 points by darrenc81 5 days ago · 1 comment · 3 min read

Reader

Hi HN. Solo iOS middle aged, slightly burnt out dad from the UK here, wondering if anyone is interested in what I've been building. Lifelong chess fan, not very good but always trying to improve and I started to build Notation: Chess coach a while back. It's been live a month now on the App Store, doing modest numbers, and I've been learning a lot... mainly make my add brain slow down, stop, test everything twice and never when tired. Submissions will always wait another day!

Many people play on chess com, or lichess, just as many in apps and OTB. What my app does (differently I hope) is bring that data together.

You can import PGNs of your games, connect to chess com and lichess and sync your games over or play in the app. If you have a Chessnut electronic board, you can play IRL on that as well.

Every game, every move is then analysed by a series of on device detectors, and classifiers. And I'm not talking about"I run Stockfish 18 and get your move evals" like most tools do.... Theres a LOT more to it.

Happy to go into detail in the comments if anyones interested!

Then, it takes all that data (ON DEVICE - No ads, no trackers, no subscriptions, no data sharing unless you want to send it to someone) to create your playing profile, which you can see on a dashboard, or pdf export - its your coaching report - shows you where and how to improve.

Most apps will say Nd6 was a blunder. My app can tell you why. To that end, I created a coach, Nadia, who when enabled in a practice game, will look over you as you play, make proactive suggestions to improve, and talk you through the board positions - on device TTS and templates allow this, with a sprinkling of Apple foundation models.

My principle has always been data privacy, and no subscription.

In the latest version, there is a "Shadow" opponent - Literally play vs yourself - same openings, same weaknesses, same strategies.

Now, I have added (because Apple device restrictions mean running a bigger model on device is not practical right now... come on WWDC and gemini...) a 100% optional feature where you can add an API key for the service of your choice, and use a cloud LLM to help interpret your coaching data - full game reviews, individual position assessments, and coming soon opponent scouting reports that are literally based on how YOU would perform vs that opponent - no one does that, they all do "this person plays x". But - and I stress - this is optional, and uses the users own api key, so it's their data/choice. I see nothing, and it's a VERY structured payload sent to ensure there is zero scope for hallucination.

Happy to share samples if people want to see the output.

App Store: https://apps.apple.com/us/app/notation-chess-coach/id6759826...

darrenc81OP 5 days ago

On BYOK - I didn't want the added complexity of a backend proxy to handle requests and subscriptions, I've tried to reduce the friction needed, its just paste key, save, test... anyone done this in their apps, what worked?

TTS - I tried so many! Kokoro was great but memory was too high, Supertonic fits under 300mb ram, and is fine for my uses.

Theres always a second Stockfish analysis pipeline running alongside the game engine (Stockfish, Rodent IV or Fairy-stockfish) - that took some rework to make happen to not clash with the game engine!

Opening Identification Staleness - A position-hash index handles transpositions, and the detector reports honestly when a game has left theory. Lichess's explorer doesn't surface this, neither does ChessBase. Players know the feeling of "we're in theory, we're in theory, we're... wait, are we still in theory?" — the app answers that question explicitly.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection