Anna Karenina and Tools that Disappear

I don't even know how to describe how blown away I am by this tool that a good friend built and his stunning essay about it — and about similar tools that can now be built.

Here is a true thing about this project: ten years ago I couldn’t have built it. I mean that almost literally. The NLP models that make context-aware case tagging possible for Russian barely existed in usable open-source form in 2016. The frontend frameworks that make a responsive, theme-able, static reading experience trivial to deploy were less mature. The whole pipeline — fetch the novel text, split it into 239 chapters, run dual-engine morphological analysis, attach stress marks from a dictionary, export everything as JSON, render it as a static site on Cloudflare — would have been a serious engineering effort requiring either a team or a grant or both.

I built a working prototype over the course of a single AI coding agent session conducted on my iPhone while out for an evening run. The novel text is public domain. The NLP models are open source. The dictionary data is community-maintained. The hosting is free-tier.

I can't recommend enough that you read the essay and tinker with the tool — which, as he describes beautifully, is very niche:

We’re entering a period where individuals can build singular tools around specific cultural objects — a particular novel, a composer’s catalogue, a filmmaker’s body of work — designed to reduce exactly the barriers that keep people on the outside. The difficulty of reading Tolstoy in Russian is different from the difficulty of hearing what’s happening in a late Beethoven quartet, which is different from the difficulty of following the visual grammar of Ozu. Generic tools — dictionaries, textbooks, explainer videos — address generic problems. But the barriers that actually stop you are almost always particular, shaped by the intersection of this work and the shape of your specific ignorance.

A tool built for that intersection has a strange property: if it’s working, it should eventually disappear.