All projects

Morning Digest

Read and listen to a daily briefing

A daily news briefing with a searchable archive and narrated audio you can navigate by sentence or paragraph.

Morning Digest collects daily briefings in a searchable archive. Audio playback lets listeners move through a story by sentence or paragraph.

Personal experiment ยท Web

A briefing you can return to

  1. Daily edition
  2. Read or listen
  3. Search past editions

Narrated audio can be navigated by sentence or paragraph. Personal reading material is kept private.

Find earlier briefings

The archive keeps past editions available when a new briefing arrives.

Read or listen

Audio playback lets listeners move through the briefing by sentence or paragraph.

How we built it.

Morning Digest is a personal reading and listening experiment. Each edition remains available as a simple web page, with an archive and an audio layer built around the story structure.

Audio that knows the article structure

Kokoro narration is generated sentence by sentence. A playlist records sentence and paragraph start times, letting the player begin at a story or paragraph, step through sentences and resume at a sensible boundary. The browser keeps a resume position, and speech synthesis provides a fallback when a recording is unavailable.

A small publishing system

Daily editions are static HTML files, with JSON search data for the archive. JavaScript handles navigation, the saved theme and audio playback; Python tools fetch article material, find preview images and prepare narration. Cloudflare Pages serves the reading site, with a Pages Function and KV store for listening progress.

Built with

  • HTML
  • CSS
  • JavaScript
  • Python
  • Kokoro
  • Cloudflare Pages
  • Cloudflare KV