f7z.io
Essays · on Highlighter

Highlighter.

A name with more history than I have. Two people built it too broad and paid for it — one of them was me. This time it starts narrow.

The name isn't mine, and it isn't only mine, and the honest place to start is admitting both. There was a company called Highlighter, Inc. — David King's, founded in 2018 as Curious Labs, pivoted in 2019 to the exact idea I keep circling: gather communities around the best highlights from books. He is not a beginner. He’d sold a social network to Disney, angel-invested in Clubhouse and Quora and Opendoor. And separately, on a completely different codebase and a completely different protocol, I’d been building something with the same name since early 2023, because the idea is good enough that more than one person will independently refuse to let it go.

King’s version worked in exactly one place and failed everywhere else. The author town-halls — Nadia Eghbal, Jason Crawford in a room with readers — those landed. The Chrome extension, the podcast highlighting, the video highlighting: nothing caught. He ran out of money in late 2022, put more than a hundred thousand dollars of his own in to keep it breathing, laid off half the team, and shut the company for good in March 2024. His own retrospective is the part I can’t stop rereading: he built too broad, and he should have picked a single book, created a community around that specific content, and let the network effects follow from the narrow channel. Paul Davison and Naval had told him that early. He didn’t fully take it.

The strange thing is that while his company was still alive, in April 2023, King wrote about my Nostr version on his own blog. A founder publicly endorsing an open reimplementation of his own product concept. My version wasn’t a competitor to his; it was the same idea poured into a protocol nobody can shut down — identity you hold, highlights that are portable events any client can read. NIP-84 — kind:9802, the highlight event — comes out of that lineage. For a while I thought that made it safe from the mistake that killed his company. It didn’t. The protocol was open; my scope was not disciplined.

Because I made his exact error, in my own dialect. Highlighter 2.0, October 2023, release name “Sig”: DVM-based extraction, zap-splits, NIP-88 subscriptions. April 2024: “Highlighter will onboard millions to nostr and to bitcoin. That’s the goal.” The subscription engine was interesting enough that it spun out as its own thing, Honeypot. By January 2025 I’d deleted my other accounts to pour everything into it — “you can think of it as a Substack where distribution is different” — and the thing was, in my own words, in a very raw state because I was rebuilding pretty much all of it. Again.

Then two notes from April 2025 that are the whole essay compressed. First: “That was the scope-creeped vision for Highlighter which I am now building as a completely separate project.” I was doing King’s move in real time — amputating the sprawl and admitting the core had gotten buried under it. And second, a week later, finding a feature I’d shipped and forgotten I’d shipped: “I had completely forgotten I had added a NIP-29 chat to highlighter, jesus, what a fucking disaster — can’t wait to finish setting all this straight.” When you can’t remember the surface area of your own product, the product is telling you something.

There’s a detail in that stretch I only understand in hindsight. Also in April 2025: “I’ve been working on all the tooling I need to be able to work and maintain well all the things I want to see in the world without losing my mind.” That tooling became tenex-edge, proactive-context — the agent infrastructure that has its own cards on this same page. I built an entire way of working in order to be able to come back to this one thing without drowning in it. Highlighter is the reason half the rest of my work exists.

So the current repo starts fresh on April 12, 2026 — not a continuation of the messy 2023-2025 codebase, a clean restart on top of everything I learned building the tools to survive it. And this time the discipline is structural, not a promise. Community-first: invite-only NIP-29 groups as the narrow channel King’s retrospective was begging for — not a feed, a room of people reading the same book. No custom event kinds: NIP-84 for highlights, NIP-73 for what a highlight is of, plain kind:11 for the threads — interop over lock-in, so a community can move relays if a host disappears. And a design system that is actually locked: warm paper palette, one terracotta accent, a 2px rule down the left of every highlight like a printer’s mark, no emoji, calm transitions. The recent commits aren’t features. They’re removals — delete the prototype pages, simplify the vault, cut the label. Ship breadth, then compress. The opposite of the last three attempts.

The part that makes me believe it this time isn’t the design system. It’s that between June 8 and June 27, 2026, I migrated the whole thing onto NMP — the shared-Rust-core bet that has its own card here, the one where I said I’ve paid the duplication tax for years and this ends it. Highlighter is now literally proof number four that the bet holds, next to podcast-rmp, olas-nmp, and chirp: one core, thin native shells, and the web client porting onto the same core through a WASM bridge as I write this. The idea that outlasted a company and three of my own restarts is finally sitting on infrastructure built to carry it — instead of a codebase I have to rebuild every eighteen months.

Two people learned the same lesson the same expensive way: an idea that survives everything can still die of being too broad. The idea was never the problem. The scope was. This time it starts as one room.