How to Listen to Articles While Running

Long runs are perfect for long reads — if the audio experience doesn't fight you. Screen-off playback, glove-friendly controls, offline caching, and picking up exactly where you stopped: here's a setup built around those constraints.

Why read-aloud apps fall short on a run

Browser read-aloud and TTS apps assume you're holding the phone: they stop when the screen locks, lose your position, and play one article at a time. Running needs a queue that behaves like a podcast: episodes in order, ±15s skip on the lock screen, and a sleep timer for cooldown walks.

The setup

  1. Route your reading into feeds. Blogs and newsletters have RSS; for one-off articles, paste the URL into the queue and it becomes an episode in minutes.
  2. Let the pipeline run at dawn. By the time you lace up, today's episodes — rewritten as a two-host conversation, which survives road noise far better than monotone TTS — are in your podcast app.
  3. Go offline-first. The PWA player pre-caches the latest episodes; open it once on Wi-Fi and your run doesn't depend on signal.
  4. Books for the long weekend run. Upload an epub and it becomes a serialized audiobook with ~10-minute parts — ideal interval boundaries.

Small things that matter at km 15

Two alternating voices keep attention better than one. Per-episode summaries let you skip a boring part without fumbling. Resume is per-book and per-episode, so switching between news and a book never loses your place.

listenwhilerunning is open source (AGPL-3.0) and runs on your own free-tier accounts.

Get it on GitHub → Live demo Hosted version waitlist

FAQ

Does it work with a locked screen and watch controls?

Yes — episodes play through your normal podcast app (or the PWA with media-session support), so lock-screen and watch controls work like any podcast.

What about music alongside articles?

Podcast apps handle this the usual way: pause, play music, resume. Position is kept per episode.

Can I slow down or speed up narration?

Playback speed is controlled in your podcast app or the built-in player (0.75x–2x).