Project · In-house tool

Book Editor

A local-first authoring cockpit for my books — each book's standard held in view at the point of every edit.

Building v0.13.0 · local-only · 24 June 2026
The Book Editor open on Let Them Struggle, chapter 1 'The Reflex'. Left: the editorial ladder — Editor passes (Structural, Additive, Line, Flow, Tightening, Copy) and Fresh-Eyes passes (Reader-Sim, Fact/Evidence, Continuity, Voice, Translation-QA, Proof). Centre: the chapter prose with an English / Both / Dansk language toggle. Right: the standard held beside the text — this chapter's Northstar, the part brief, the evidence ledger, and a live word count against target.
The cockpit, open on a drafted chapter — the editorial ladder at left, the prose in the centre, and that chapter's standard (its Northstar, brief, evidence, and length against target) held in view at the right.

I'm writing several books at once, in a format where every chapter exists in English and Danish side by side and has to meet a standard I set for it. No reading app edits that. So I built the thing that does — a cockpit that keeps each book's standard on screen while I work, instead of in my head.

Why it exists

The Let Them Struggle reader proved the consume side: a clean, public, bilingual way to read a book in this format. The produce side was still a pile of markdown files and a standard I had to remember. Every revision meant holding the chapter's Northstar, its verified evidence, and the author voice in working memory and hoping I didn't drift — exactly the kind of vigilance that fails on chapter eleven at midnight.

The book's standard is present at the point of every edit — so staying true to it is the path of least resistance, not an act of vigilance.

That's the Northstar, and it's the whole design. The editor doesn't just let me change words; it puts the standard those words have to meet right next to them.

What it does

It opens a library of books — Let Them Struggle and two others so far — each one a set of parallel-language markdown files. Open a chapter and the prose sits in the centre with a language toggle (English, both, or Danish); the chapter's Northstar, its part brief, its evidence ledger, and a live word count against target sit in the margin beside it. Down the left is an editorial ladder: a fixed sequence of passes — structural, line, flow, tightening, then fresh-eyes passes for facts, continuity, voice, and translation parity — so editing is a climb with rungs, not a vague "make it better."

Changes are visible. When a pass or I rewrite a block, the old and new sit together so nothing changes anonymously and I approve what stays. Notes pin to the exact point in the text they're about and collect as margin comments, the way they would in a document I actually trust. There's a read-aloud mode for hearing a chapter the way a reader will, and a version history that snapshots everything that can change — prose, titles, Northstars, briefs, notes, even the cover — so a bad afternoon is always reversible.

How it's built

Local-only, on purpose. It runs on my machine, against my working tree, and is never deployed — which is why this page has a screenshot instead of a link. It writes back to the markdown source, never to the compiled artifact a rebuild would overwrite. It shares one format and one rendering core with the reader, so a parsing fix happens once for both. The stack is deliberately small: vanilla JavaScript, no framework and no build step, and a tiny local Python server for the one thing a static page can't do — save. A test suite gates every change, including a guard that makes it structurally impossible for a test to touch a real manuscript.

Current state

v0.13.0. Three books loaded; the first chapters of Let Them Struggle are drafted and editable in it now. This is infrastructure, not a product — built for one author, used daily. The durable bet is the same one behind everything here: the tool is the asset. What I learn building an authoring cockpit for my own books is what makes the next book, and the one after, cheaper to bring to the same standard.

What's next

A name — it's "Book Editor" for now. Then the parts that have earned generalising — the cockpit pattern, the translation state machine, the anti-slop editorial layer — lifted out of this first instance into something any book in the format inherits. The companion to the reader: produce and consume over one shared format, two tools, one standard.