Balanced Breakfast.
When it comes to media and news, it's good to be a picky eater.
A local-first, extensible feed reader for people who read with intention.
Balanced Breakfast is a native desktop feed reader that puts you in control.
Subscribe to RSS, Hacker News, arXiv, and any source you can script.
Everything stays on your machine. No account required, no telemetry, no cloud dependency.
Built with Rust and Tauri for speed and a small footprint.
4
Built-in sources
∞
Custom via plugins
9
Bundled themes
0
Telemetry & tracking
What You Get
Multi-Source Timeline
- RSS, Atom, and JSON Feed (1.0/1.1)
- Hacker News: Top, New, Best, Ask, Show, Jobs
- arXiv papers by category (cs.AI, cs.LG, etc.)
- Reader view with article extraction
- Everything in one unified feed
Rhai Plugin System
- Write custom source adapters in Rhai script
- Dynamic config forms (text, URL, secret, select)
- Pagination, search, auth capabilities
- Plugin secrets encrypted at rest (AES-256-GCM)
- No recompilation needed to add sources
Reading & Organization
- Three-panel layout: sources, items, detail
- Mark read/unread, star/favorite items
- Feed tags and per-source filtering
- Full-text search across all content (FTS5)
- Sort by date, score, unread-first, starred-first
Data Ownership
- All data in local SQLite — no cloud required
- OPML import and export
- Optional E2E encrypted cloud sync (SyncKit)
- URL tracker stripping (utm_*, fbclid, gclid)
- Content-addressable storage (no duplicates)
Keyboard-Driven
jk Navigate items
s Star / unstar
r Toggle read
/ Search
o Open in browser
Esc Close panel
⌘R Refresh all
⌘N Add new feed
⌘I Import OPML
Built-In Plugins
📡
RSS / Atom
Subscribe to any feed URL. Multi-URL support, tag extraction, JSON Feed compatible.
💬
Hacker News
Browse Top, New, Best, Ask HN, Show HN, and Jobs. Score metadata and pagination.
📄
arXiv
Track papers by category. cs.AI, cs.LG, cs.CL, cs.CV, stat.ML, and more.
📖
Reader View
Extract clean article content from any web page. Readability-style rendering.
Write your own. Plugins are Rhai scripts — a lightweight, sandboxed scripting language. Define a fetch function, a config schema, and you have a new source. Host functions for HTTP requests, XML/JSON parsing, and text processing are built in. A full authoring guide ships with the app.
Query Feeds
Build saved filters with multiple conditions. Match on title, author, body, source, tag, or status. Supports contains, equals, and regex operators. Live match counts show how many items hit each query. Think of them as virtual feeds that pull from everything you subscribe to.
Under the Hood
- Auto-fetch every 15 minutes (configurable per plugin)
- Circuit breaker: auto-disables feeds after 10 consecutive failures
- Feed health monitoring with failure counts and last-error display
- Stale item cleanup (read, non-starred items older than 30 days)
- Duplicate detection on OPML import
- HTML sanitization on all rendered content
- 9 bundled TOML themes + user custom themes + high-contrast mode
- Paginated item loading (50 at a time, load-more)
- Toast notifications for fetch errors and status updates
Cloud Sync (Optional)
Sync feed configs, read/star state, and preferences across devices via MNW SyncKit. End-to-end encrypted — the server never sees your data. Feed content re-fetches from source on each device, so only your state crosses the wire. No account required to use the app — sync is entirely opt-in.
How It Compares
| Feature |
BB |
Feedly / Inoreader |
NetNewsWire |
Miniflux |
| Custom source plugins |
Yes |
— |
— |
— |
| HN + arXiv built-in |
Yes |
— |
— |
— |
| Native desktop |
Yes |
— |
Yes |
— |
| Cross-platform |
Yes |
Yes |
Apple only |
Yes |
| No account required |
Yes |
— |
Yes |
— |
| Free, no limits |
Yes |
Freemium |
Yes |
Self-host |
| Zero telemetry |
Yes |
— |
Yes |
Yes |
| Full-text search |
Yes |
Paid tier |
Yes |
Yes |
| Saved query feeds |
Yes |
Paid tier |
— |
Yes |
| Mobile app |
— |
Yes |
Yes |
Web only |
Free during alpha. Balanced Breakfast is a native desktop app. macOS ready today, Windows and Linux via Tauri. Source-available under PolyForm Noncommercial 1.0.0.