Your underlines have a social life now

Think about what happens to a highlight in a normal reading app. You select the sentence, the app paints it yellow, and a row lands in a database you will never see, owned by a company you can’t audit, attached to an account that can be closed. Your sharpest reading moments — the sentences you’ll want back in five years — live as data exhaust in someone else’s warehouse.
On my site, an underline is a Nostr event. It has an id, a signature, an author — you — and a life of its own.
I’d love to tell you I invented that. I didn’t. Let me give credit first and explain second.
The Pablo part
Years before I showed up with an encyclopedia, Pablo Fernandez — pablof7z, one of the most relentlessly prolific builders Nostr has — asked a question nobody else was asking: what if a highlight were a first-class social object? Not a feature inside one app. A primitive — something the whole network understands. He built Highlighter to prove it, and the event kind it pioneered (9802) became NIP-84: a tiny signed event that says this person highlighted this passage, here’s the source, here’s their note.
That’s the move I admire, and it’s a very Nostr move: don’t build a moat, build a kind. Once highlights were a kind, they stopped belonging to Highlighter. Any client can render them. Any site can accept them. Some guy with a Bitcoin encyclopedia can wire them into his margins a few years later without asking anyone’s permission — which is exactly what I did.
And the debt goes deeper than highlights. When I publish this very article, the signature comes through a bunker descended from Pablo’s nsecBunker, the original remote signer. Half the Nostr apps you’ve used are built on NDK, his developer kit. He even built Wikifreedia — a wiki where the articles themselves are Nostr events — so the idea of wiki-shaped knowledge living on this network has his fingerprints on it too. The community knows what it has, by the way: OpenSats gives him long-term support so he can keep doing exactly this. That’s the flowers. He’s earned a garden.
The encyclopedia part
My contribution is smaller and more specific: a place worth underlining. timechain.wiki is a free Bitcoin encyclopedia — 394 entries organized into sixteen walkable sections, from “what is money” down to the protocol plumbing, with search, cross-links, and hand-drawn figures. No ads, no paywall, no account to read.
But reading an encyclopedia you can’t argue with is a lecture. Real reading is arguing — underlining the claim you don’t buy, flagging the sentence you’ll quote later. That’s authorship, and authorship wants a signature. Nostr happens to be very good at signatures. So I took Pablo’s primitive and built a social wiki around it.
How it works when you’re the author
Sign in on timechain.wiki the way you’d sign in anywhere on Nostr — a browser extension, or a remote signer like Amber, meaning your key stays wherever it already lives; my site never touches it. Select a passage, save. The kind-9802 event is signed by your key and published to your relays. I store nothing. When you come back, the site queries your events and repaints the pages.
The site is just one client of your data. Your highlight isn’t a timechain.wiki feature — it’s a Nostr event that timechain.wiki happens to render. Other clients can show it, thread replies under it, zap it. Your marginalia can earn sats. Somewhere, a librarian just fainted.
The firehose
Nostr’s superpower here is discovery. Subscribe to kind 9802 and every public highlight arrives as it happens — no registry, no crawler diplomacy. That’s what powers the shared layer on the wiki: dotted underlines showing what other readers found worth keeping, from readers I’ve never met. On Nostr the network effect is ambient; you publish into the commons and the commons finds you. An encyclopedia where the marginalia of every passing reader accumulates on the page — that’s not a feature I built so much as a property the network gave me for free.
The honest flip side: public means public. Anyone can index kind 9802 — me, archives, someone’s weekend scraper. Deletion is a NIP-09 request that polite relays honor and nobody enforces. On Nostr, “don’t index me” is etiquette, not physics. Publish the highlights you mean.
Private, done properly
Here’s the one place this rail is genuinely ahead today. Private highlights on timechain.wiki are encrypted — NIP-44, to yourself — stored as app-data events that feed clients never render. The relays carry ciphertext. They cannot read your notes. I cannot read your notes. Not a policy promise; math.
I know the comparison firsthand because I built the same feature twice — the second time on Pubky, where your data lives as files on a homeserver you choose. Pubky’s locality story is beautiful and its private namespace is still alpha, access-controlled rather than encrypted, which its team honestly admits. I wrote that story up separately on Pubky’s own turf. Two rails, two philosophies: Nostr broadcasts your marginalia and encrypts the private parts; Pubky homesteads it and is still building the locks.
Go argue with a sentence
Nostr already held my identity before this project — my name resolves at rad@radvladdy.com, and this article is itself a Nostr event you may be reading in a client I’ve never heard of. Extending that to marginalia was the obvious move: reading is the most personal thing I do on the internet, and it was the last thing still leaving its records in other people’s databases.
So go underline something. Pick an entry on timechain.wiki, sign in with your key, and argue with a sentence. The event is signed, portable, and yours — and if it’s good, someone might even zap it.
Thanks, Pablo. Your margins, on your relays. As it should be.
Write a comment