Skip to content

Focus Reader Team

Email newsletters are a valuable source of curated information, but subscribing to them clutters the inbox and mixes long-form reading content with actionable correspondence.

Core trick

Assigns each newsletter subscription a unique pseudo email address and parses incoming mail into sanitized HTML and Markdown.

Tags

Description

Email newsletters are a valuable source of curated information, but subscribing to them clutters the inbox and mixes long-form reading content with actionable correspondence. There is no clean separation between "things to read" and "things to act on" in a typical email workflow. Focus Reader is a self-hosted system that provides a dedicated ingestion pipeline for email newsletters using pseudo email addresses, converts them into clean readable formats (HTML and Markdown), and presents them in an RSS-reader-like interface with support for tagging, categorization, and search. - Eliminate newsletter clutter from the user's primary inbox. - Provide a dedicated, distraction-free reading experience for newsletters. - Allow the user to generate unlimited pseudo email addresses for subscriptions. - Support an existing tagging/categorization system for organizing content. - Optionally expose ingested newsletters as RSS/Atom feeds for interoperability with other readers.
keepread/app★ 41 forksTypeScriptMITCreated Feb 11, 2026 · last push Mar 2, 2026

README excerpt

# Focus Reader

An open-source read-it-later application that unifies web articles, email newsletters, RSS feeds, PDFs, and bookmarks into a single distraction-free reading interface. Deploy to your own Cloudflare account in single-user mode, or run as a multi-tenant SaaS — you own your data.

## Features

- **Email newsletter ingestion** — Subscribe to newsletters with per-subscription pseudo email addresses (`techweekly@read.yourdomain.com`). Emails are parsed, sanitized, and stored automatically.
- **RSS feed aggregation** — Add RSS/Atom feeds and automatically ingest new articles on a schedule.
- **Asynchronous enrichment queue** — Low-quality extractions and cover image caching are processed via Cloudflare Queues.
- **Browser extension** — Save bookmarks and full-page content from Chrome with one click.
- **PDF upload** — Upload PDFs (up to 50 MB) stored in R2 with inline viewing.
- **Full-text search** — Search across all documents via D1 FTS5.
- **Saved views** — Create filtered views by type, tag, read status, and date range.
- **HTML sanitization** — Strips tracking pixels, scripts, and unsafe content while preserving layout and images.
- **Markdown conversion** — All content stored as Markdown for portability and easy export.
- **Deduplication** — Prevents duplicate documents via Message-ID and SHA-256 fingerprint matching.
- **CID image support** — Inline email images uploaded to R2 and served via proxy URLs.
- **Tagging & organization** — Tag feeds, subscriptions,

Team