{"slug": "i-built-a-self-hosted-rss-reader-with-tts-ai-podcasts-here-s-how-it-stacks-up", "title": "I built a self-hosted RSS reader with TTS + AI podcasts — here's how it stacks up against FreshRSS and Miniflux 🎧", "summary": "A developer built Readaria, an AGPLv3-licensed self-hosted RSS reader that adds server-side text-to-speech, scheduled or on-demand AI-generated podcasts from followed feeds, and BYOK AI summaries and Q&A, positioning it against FreshRSS and Miniflux. The project ships as a one-command Docker Compose deployment with an installable PWA and a Readwise-inspired desktop reading layout, and the developer says the goal is turning a reading backlog into a listenable one for long commutes.", "body_md": "I'll be honest: I paid for Readwise for years and loved the reading experience. So when I started building my own reader, I borrowed its homework — the desktop layout uses Readwise-style typography and reading flow as the reference point. Then I got TTS and AI podcasts working, and quietly cancelled my subscription. Oops 😄\n\nThis is **Readaria**, an AGPLv3-licensed RSS reader. There's a hosted version, but this post is about the self-hosted one. Everything runs from a single `docker compose up -d`.\n\n|  | Readaria | FreshRSS | Miniflux | \n|---|---|---|---|\n| TTS / listen | ✅ server-side, multi-provider | ❌ | ❌ | \n| AI podcast from feeds | ✅ scheduled or on-demand | ❌ | ❌ | \n| AI summaries / Q&A | ✅ BYOK | ❌ | ❌ | \n| Reading experience | Readwise-inspired desktop layout | classic web UI | minimal UI | \n| Mobile | installable PWA | PWA / third-party apps | third-party apps | \n| Self-host | one-command Docker | Docker | single binary / Docker | \n| License | AGPLv3 | AGPLv3 | Apache 2.0 | \n\nFreshRSS and Miniflux are excellent at what they do — this is not a takedown. Readaria is for a specific situation I kept hitting: my reading backlog had quietly become a *listening* backlog.\n\nMy daily drive is 2–3 hours, and I wanted that time back — to catch up on news and on the authors I follow. Readwise and Instapaper are great at saving articles, but none of the tools I tried would turn followed authors' new posts into a playlist, let alone a podcast that *discusses* them. So I built it.\n\nIf any of this sounds like you — the commute, the dog walk, the \"I'll read it later\" pile that mostly delivers guilt and eye strain — that's exactly the use case. (Unexpected side effect: it genuinely helps with my ADHD. A queue I can listen to is a queue I actually finish.)\n\n```\ngit clone https://github.com/Blacksheeppy123/readaria.git\ncd readaria\ncp .env.example .env\n# set a database password and strong SECRET_KEY / JWT_SECRET_KEY values\ndocker compose up -d\n```\n\nPrefer to try before self-hosting? [https://demo.readaria.com](https://demo.readaria.com) has pre-generated podcasts and doesn't require signup to browse.\n\nIssues and PRs welcome. Things I'm chewing on: better podcast script control, more TTS providers, and an API surface so agent tooling can subscribe and listen on your behalf.", "url": "https://wpnews.pro/news/i-built-a-self-hosted-rss-reader-with-tts-ai-podcasts-here-s-how-it-stacks-up", "canonical_source": "https://dev.to/blacksheeppy123/i-built-a-self-hosted-rss-reader-with-tts-ai-podcasts-heres-how-it-stacks-up-against-freshrss-j3j", "published_at": "2026-11-11 06:38:32+00:00", "updated_at": "2026-11-11 06:51:17.634405+00:00", "lang": "en", "topics": ["ai-products", "ai-tools", "developer-tools", "generative-ai"], "entities": ["Readaria", "FreshRSS", "Miniflux", "Readwise", "Instapaper"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/i-built-a-self-hosted-rss-reader-with-tts-ai-podcasts-here-s-how-it-stacks-up", "markdown": "https://wpnews.pro/news/i-built-a-self-hosted-rss-reader-with-tts-ai-podcasts-here-s-how-it-stacks-up.md", "text": "https://wpnews.pro/news/i-built-a-self-hosted-rss-reader-with-tts-ai-podcasts-here-s-how-it-stacks-up.txt", "jsonld": "https://wpnews.pro/news/i-built-a-self-hosted-rss-reader-with-tts-ai-podcasts-here-s-how-it-stacks-up.jsonld"}}