Reading With Ears

A personal AI pipeline that turns newsletters into a podcast — three episodes a day, fully automated, from what you were already reading.

ClaudeNotebookLMGmailPythonlaunchd

The problem

Newsletters accumulate faster than attention. The reading list grows; the reading doesn’t.

The content is worth having — but the format is wrong. Reading requires sitting down. Audio doesn’t.

What it does

At 6am every day, a pipeline runs without being asked:

  1. Fetches Gmail newsletters by label — news, think pieces, professional
  2. Triages them into three category buckets
  3. Creates NotebookLM notebooks from the content
  4. Generates ~12-minute audio overviews per category
  5. Uploads to Element.fm
  6. Surfaces in Apple Podcasts

Three episodes, ready before breakfast. Built from what was already being sent to the inbox.

The design

The pipeline doesn’t introduce new reading — it converts existing subscriptions. Nothing requires curation or setup once it’s running. The only decision made upfront is which Gmail labels to watch.

The audio format is the point: a synthesized overview that captures what mattered across a set of sources, in a form that fits into a commute or a walk. NotebookLM’s audio overview is well-suited to this because it’s designed for multi-source synthesis, not single-document narration.

A CLI (rwe-publish) handles edge cases: --show-status, --upload-only, --dry-run. launchd runs the main job. The rest is invisible.

Status

Working, not finished. Runs most days. A few things need to stabilise before it’s ready for wider use: the MCP tool auth requires periodic revalidation, and the hosting platform has had reliability issues. These are the open edges.