// ai summary · lifehack·14 May 2026·3 min read

My morning brief — news, stocks, podcast, before coffee.

AI summary —written by an AI agent from a brief I gave it. The system runs every morning; the prose isn't hand-written.
Cloudflare WorkersReact EmailElevenLabsKimi K2

Six in the morning. My phone shows an Apple Podcasts notification — today's episode is ready. I press play, walk to the kitchen, and by the time the kettle is on, a calm British voice has told me what yesterday's commits did, what's in flight today, what the markets opened on, the three news items worth knowing about, and a one-liner about the weather designed to make the rain feel personal.

By the time I'm at my desk, the matching newsletter is in my inbox — same brief, written form, with links you can actually click. I haven't opened Twitter. I haven't opened LinkedIn. The day starts on my goals, not someone else's algorithm.

The whole thing runs itself overnight on a Cloudflare Worker. Total running cost: about ten cents a day. Here's how it's built — short version.

// the pipeline

Six steps, all glued together with markdown.

1

Pull

Cloudflare Worker fires at 06:00. Pulls RSS feeds (Hacker News, a handful of trusted blogs), market data for a small watchlist (semis, defence, AI, energy), my own GitHub activity from yesterday, and my Obsidian daily note.

2

Curate

Pile of raw items goes to Claude Haiku 4.5 with a short prompt: pick the 3–5 that actually matter, drop the rest, write a one-line "why this matters" for each. Haiku is cheap and fast — it's a filter, not a writer.

3

Write

The curated brief goes to Kimi K2 (Moonshot, 1T-param MoE, ~1% of Opus's cost). Persona is locked: BBC Radio 4 × Red Dwarf — named greeting, dry closing joke. Output is one spoken paragraph per section, ~500 words, ready for TTS.

4

Voice

ElevenLabs (Aria voice, eleven_multilingual_v2) turns the script into a stereo MP3. The voice is consistent every day — same narrator, same pacing, no jingle.

5

Email

A React Email template assembles the written brief — sections for "Yesterday", "In flight", "Markets", "News", "Weather + close". Sent via Resend to one address. The audio link in the email points at the same MP3.

6

Publish

The MP3 lands in R2; a small Cloudflare Worker exposes a token-gated RSS feed at daily.davidbroza.dev. Apple Podcasts is subscribed to it. New episode shows up on its own.

// why the picks are relevant

It knows what I do — because I told it.

The curation step doesn't filter "interesting news in general". It filters news relevant to me. The way it knows what me means is my Obsidian vault — a handful of plain-markdown KB notes I maintain: my tech stack (Cloudflare + TanStack + SST), what I'm working on (the active side projects + my day job's domain), what I want to read more about (geotechnical engineering, AI infra, Dutch market). Every morning the curation prompt gets a compact summary of those notes stitched on top of the raw news pile, and Haiku picks accordingly.

Result: a recommendation engine I fully control. Not based on what some algorithm thinks I want — based on what I literally wrote down. Want fewer crypto items? Delete the crypto-curious line from the KB. Want more geotech? Add a note. No tracking pixel, no behavioural model, no "people like you also read". The notes stay on my laptop; only the relevant bytes get pasted into a one-shot prompt at run time. Private by construction.

This is the part I think more people should be doing. You already keep notes. The notes know you better than any feed does. Hand them to a cheap LLM with a "pick what matters to this person" prompt and you get a daily brief that is yours — not a remix of everyone else's morning.

// bonus track

Same plumbing, different input — topic-specific deep-dives.

The expensive parts — the voice, the publish pipeline, the podcast-app delivery — are already paid for. Plug a different writer in and you've got a topic-specific show. Mine is a two-host interview format called Conversations with Aria — Aria (witty British host) gets interviewed by Brian (earnest American journalist) about whatever I want to learn about.

Workflow is one command. I drop a markdown brief on a topic — anything from "how a CPT works in detail" to "pile bearing capacity and basal heave in Dutch soft soils" — and the same make-podcast skill writes the dialogue with Kimi K2, voices both speakers in parallel with ElevenLabs, stitches them with ffmpeg, and publishes. ~10 minutes wall clock, ~12 cents in API.

That's how the geotechnical-engineering episodes got made — I wanted a structured refresher on the discipline I work in. So I wrote a brief covering bedrock to bearing capacity, ran the skill, and now I have a fourteen-minute interview I can replay on the commute. Same trick works for anything you want a calm voice to tell you about — for me, for you, for one listener.

// why it works

Three minutes of your own voice, before anyone else's.

  • It's about me. Not the news feed for everyone in my time zone — my GitHub log, my Obsidian note, my calendar. Nobody else gets value from this episode. That's the point.
  • It replaces the doomscroll. If the first thing in your morning is a podcast about your own day, the urge to open Twitter at 7am evaporates. Costs nothing, changes a lot.
  • It's cheap to run. Cloudflare Workers free tier covers the cron + storage. ElevenLabs free tier covers the voice (~40k credits a month). LLM calls — Haiku + Kimi K2 — are under five cents per day.
  • The same plumbing scales sideways. Once the daily works, the topic-specific shows are nearly free. Geotech today, anything tomorrow.

// the stack

Cloudflare Workers (cron + RSS feed), R2 (MP3 storage), KV (episode records), Claude Haiku 4.5 (curation), Moonshot Kimi K2 (spoken script + dialogue), ElevenLabs (TTS, Aria + Brian voices), React Email + Resend (newsletter), ffmpeg (stitching for two-host episodes). All of it is markdown files + small scripts, written and maintained by an AI agent on my laptop.

For the longer write-up on the genre, see Audience of one — the personal podcast is a new genre →

Note: this article is an AI-generated summary of how the system works. The product is real. The prose isn't hand-written.