Back to floatbird
Live · web · read-later

reader

A read-later that keeps the article, not just the link. Drag the Save bookmarklet to your toolbar once; from then on, one click on any page drops a clean, de-cluttered copy into your Unread inbox: full text, title, byline, est. read time. On save, a cheap LLM pass writes a one-line TL;DR and a few tags, so the inbox is skimmable instead of a wall of headlines. Read it in a distraction-free view, then archive it; search and tag across your whole library. Or have it read to you: one tap narrates an article with an on-device neural voice, and your whole queue becomes a private podcast you can subscribe to. Each person gets their own private inbox.
Make an account and start saving. Your inbox is private to you.

Why it exists

Pocket is being wound down, and the read-later loop it nailed (capture an article, keep a clean copy, come back to it later) is worth keeping. reader is that loop, self-hosted: a bookmarklet saves the page you’re on, the server fetches it and extracts the readable article (title, byline, site, lead image, full text), and it lands in your Unread inbox. Not a bookmark to a link that might rot, but a stored, de-cluttered copy you can read even if the original goes away.

A TL;DR on every save

The thing Pocket never did well: the moment an article is saved, a single cheap Claude Haiku pass writes a one-line TL;DR and two to four tags. So your inbox reads like a digest: you can tell at a glance what each saved piece is, instead of squinting at headlines. The summarize step degrades gracefully: if the model is unavailable, the save still succeeds, just without the TL;DR. The reading view itself stays a distraction-free article in a serif face, the TL;DR sitting above it as a callout.

Listen to your pile

A read-later queue you never get to is just guilt. So reader reads it to you: every article you save is narrated automatically with Kokoro, a small on-device neural voice: no per-word API bill, nothing sent to a cloud TTS. Rendering happens in a separate worker so it never blocks the app, and the finished MP3 plays in an inline mini-player. Better yet, every account gets a private podcast feed: reveal your secret feed URL, paste it into Overcast or Apple Podcasts, and saving a link is all it takes. The episode shows up on your phone, ready for a walk. Your read-later pile becomes a podcast only you can subscribe to. (Prefer to pick and choose? Flip auto-narrate off and hit Listen per article instead.)

One click, no extension

Saving is a bookmarklet you drag to your toolbar once: no browser extension to install, review, or sideload. Rather than inject a script into the page (which a site’s Content-Security-Policy can block), it opens a tiny popup that rides the reader session already in your browser, so it works on any site. The library page renders the draggable Save chip; from then on, one click anywhere shows a “Saved ✓” and the article is in your inbox.

Multi-user, open sign-up

reader is multi-user: each person has their own private inbox and archive, and anyone can sign up for an account. Saved articles are private to the person who saved them. It runs in the floatbird monorepo as a FastAPI backend with its own Postgres, a React web app, and trafilatura doing the extraction.