Nothing good to listen to on your runs and commutes? listenwhilerunning rewrites your own subscriptions into a two-host dialogue podcast every morning, and converts your epubs into serialized audiobooks — open source, zero backend, roughly $0/month.
Get it on GitHub → Try the live demo Hosted version ✉Your RSS feeds, subreddits, or any article URL get rewritten by an LLM into a natural two-host conversation, synthesized to audio, and delivered to your podcast app every morning.
Upload an epub/PDF/txt/html from your phone; it becomes a serialized audiobook with an AI-generated "hosts discuss this book" intro. Generation runs ~10x faster than playback, so you can start listening within minutes.
Apple Podcasts, Pocket Casts, Overcast — anything that can "follow by URL" just works. No platform lock-in, no app to install.
A PWA web player with lock-screen controls, ±15s skip, speed, sleep timer, offline caching, and resume — open it once before you head out and listen offline.
A batch pipeline + object storage + a static page. Everything fits in Cloudflare's free tier (R2 10GB, free egress). No server to maintain.
Your data stays in your own accounts. The LLM is any OpenAI-compatible endpoint — skip it and episodes fall back to plain readout.
git clone the repo, npm install, and fill two Cloudflare values in .env (comments tell you exactly where to get them).
npm run setup creates the storage bucket, public domain, and admin token, deploys the player, and prints your player URL and podcast feed URL.
npm run pipeline generates your first batch. Add GitHub Actions or cron for daily updates, and upload ebooks straight from the player.
We're evaluating a hosted version — sign up and listen, zero setup. Leave your email and you'll be the first to know; the length of this list directly decides how fast we build it.
NotebookLM generates audio for documents you feed it one at a time. listenwhilerunning is a pipeline: it watches your RSS feeds and book folder, generates audio on schedule, and pushes everything to one private podcast feed. Set it up once, and new audio just appears in your podcast app. It's also open source and runs on your own accounts.
They paid for TTS and LLM costs on behalf of their users, and shut down. This project inverts the model: the pipeline is open source and runs on your own free-tier infrastructure, so there's no burn rate to kill it.
Generation runs about 10x faster than playback. A 200-page book takes roughly 2–3 hours end to end, but the first episode is ready minutes after upload — you can listen while the rest generates and never catch up to it.
It detects the book's language and switches voices automatically. There's also a built-in whole-book translation command, so you can listen to an English book as a Chinese audiobook.
Storage and bandwidth: free (Cloudflare R2 free tier). LLM rewriting: pay-as-you-go, typically a few cents per day for 8 news episodes; optional. TTS: free for personal use via Edge TTS, swappable for any commercial TTS.