Read Mode¶
Read is everything you read: books you own, articles you saved, files you imported, and feeds you follow. The sidebar lists them as Collections.
Nothing here needs an AI endpoint. Reading works whether or not you've configured a model.
eBooks¶
Import EPUBs (also MOBI/KF8, FB2 and CBZ) by dropping them on the library or using Import. Read with real pagination, a table of contents, and light, sepia or dark reading themes with adjustable typography — the reading theme is independent of the app's own theme.
Highlight passages in five colours and attach notes; annotations anchor precisely in the text and follow the book across devices. You can also chat with an AI companion about a passage, and publish highlights as standard NIP-84 events other nostr clients understand.
Books, progress, settings and annotations sync as NIP-44-encrypted nostr events — relays only ever see ciphertext — and book files back up to Blossom servers. Every publish is an explicit action; per-book you can opt out of sync entirely (Local only in Edit metadata).
Browsing someone else's shelf¶
Viewing as: you at the top of the sidebar is a lens. Open it and paste an npub, or pick someone you follow, to view their public shelf read-only — the books they've shared and the annotations they've made public — as if you were them. The sidebar shows whose eyes you're looking through until you exit. Nothing is published while you browse, and nothing foreign is written to your library unless you explicitly download a book.
Under a lens, only eBooks is available; the other collections show a lock. That isn't a missing feature. Saved articles and feed subscriptions are encrypted to their owner's key, so nobody — not us, not the relay, not you — can read someone else's. Files aren't published at all yet. Only books and the annotations on them are publishable as plaintext, and only when their owner explicitly shares them.
Articles¶
Articles you saved for later. Save (the bookmark button in the reader) puts an article here.
Articles you open are cached on this device, so saved pieces re-open instantly without spending another fetch. Cards you've already read appear dimmed.
Files¶
PDFs. Import them (or drop one on either grid — it'll find its way here) and read them in a scrolling view. Text is selectable and findable with your browser's own ⌘F, and the page you reached is remembered.
PDFs are not highlightable. Highlights anchor to a position in flowing text, which a fixed page-image format doesn't have — so marking up a PDF would need a different kind of anchor than the one your book highlights use. It isn't built rather than half-built.
For now, files stay on the device that imported them: they don't sync across your devices and can't be shared. Where you left off is remembered locally too, and never leaves this browser.
Feeds¶
Where you find things to read:
- Paste any URL — a feed URL previews its items; an article URL opens the article as clean text, without popups or ads.
- Subscriptions — subscribe from a feed preview. Nothing polls in the background; feeds fetch when you ask.
- Explore Recent Events — a discovery feed of recent long-form nostr writing straight from relays, filterable by topic and capped at one article per author so bulk publishers can't drown it.
Subscribed feeds are cached on this device: opening one shows the items from the last fetch (the header says how old they are) for free. Press refresh in the feed header to pull the latest.
Nostr articles need nothing configured. Web pages and most feeds are fetched through Firecrawl with your own API key (Settings → Web research) — browsers can't fetch most sites directly. Feeds whose hosts allow direct browser access work without any key.
If you run (or trust) a CORS proxy, set it as the RSS CORS proxy in Settings: feeds that block direct browser access then fetch through it for free instead of through Firecrawl. It's optional and off by default — whoever operates the proxy can see which feeds you read.
Subscriptions and saved articles sync over your relays as NIP-44-encrypted events (kinds 30107 and 30108): relays only ever see ciphertext, and pressing Sync on another device brings both across. Article content is never published — only metadata; the text re-fetches on demand.
Deep links¶
/read?book=<sha256>opens a book./read?a=30023:<pubkey>:<d-tag>opens a nostr article./read?url=<article-url>opens a web article.
The URL updates as you read, so any book or article view can be shared as a link.