henry-personalised-newsletter
I built a daily personalised newsletter for Henry that assembles headlines from live RSS feeds and publishes automatically to GitHub Pages.
Problem
Henry wanted a daily briefing on his chosen topics, and the project also addressed a specific failure mode from an earlier email-briefing attempt where an LLM would hallucinate or invent news items.
What I built
I built build.py, which fetches real RSS/Atom feeds, filters items by each feed's own publish timestamp, dedupes them, and renders headlines, summaries and links verbatim rather than using an LLM to generate content. It runs on a schedule (three times daily, staggered for redundancy) via GitHub Actions and publishes the result to GitHub Pages, with no server or local machine required. The architecture is shared with three sibling briefing repos, and adding Henry's real topics only requires editing a SECTIONS list with feed URLs.