The morning news, read to me.
Every weekday a small pipeline collects the news, picks what matters, writes a short script with an AI model, turns it into a natural voice, and sends the audio, a recap, photo cards and links to my Telegram. Built for one listener: me.
Too many tabs before breakfast.
I wanted to keep up with markets, tech and world news without scrolling several sites every morning.
And I didn't want to make the usual low-effort AI content. If a machine was going to summarise the news for me, it had to be good enough to actually listen to, every day.
Grey = how it was. Colour, below, = what I built.
One message a day. Press play, or read the recap.
Around 11 am New York time on weekdays the pipeline runs on its own and this package lands in Telegram. That hour is on purpose: it is after the opening bell, so there are articles to summarise. First, the shape of a real run, shortened. Then the five steps that make it; the technical words are in one small block underneath.
PolicyThe Fed raised rates a quarter point, its first hike in three years.
MarketsMost indexes slipped a little; the Dow fell harder, dragged by a few big names.
TechA public jab between two AI labs made the front pages.
10:59 AM
- Fed raises rates for the first time in 3 years — SCMP
- Takeaways from the Fed's decision — New York Times
- Fuel prices push UK inflation higher — BBC
- Hong Kong plans to double innovation spending — SCMP
- … and the rest of the day's stories
Photos: Federal Reserve (public domain); U.S. Dept. of Energy (public domain) — illustrative
Every card links back to the original article.
scheduler = a program that runs a task at set times; here n8n · feed = the machine-readable version of a news site · Claude API = the AI model, called by code with my instructions and rules · Inworld TTS = the voice service, Google’s voice as the backup · Cloudflare R2 = file storage; it also feeds a private podcast app.
Nothing is reviewed before it sends. That’s the point.
It’s my own briefing, so no one signs off on each message. What I decide is what to open (every story links back to the original), what stays in (I tweak the format run after run; the first version is never right), and what stays out. Generated charts looked convincing but their numbers weren’t reliable, so I dropped the generated charts. Video stayed an experiment.
Three things I stopped doing by hand.
Summaries and the links now arrive in one place.
Nothing to trigger. It runs itself on weekdays and tells me if a step failed.
Listen instead, a few minutes a day. Open a link only when I want more.
My part, and not my part.
My part
- The idea and the bar: useful every day, not AI slop.
- Choosing the sources and what counts as important.
- Designing the pipeline and wiring the pieces together.
- Picking the voice after testing options, and tuning its tone.
- Testing image tools (cinematic vs cartoon) and dropping charts when their numbers weren't right.
- Tweaking the output, run after run. Adding fallbacks and the status file.
Not my part
- The journalism. Every item links to the original article and names its source.
- The summaries and the narration. Claude and Inworld do those, inside rules I set.
- The timing. A scheduler starts it; I don't press anything.
- AI helped me research each tool before I built with it, and dig further when it wasn’t sure.