About this site

AI Daily Brief

A personal, automatically-generated digest of the day's AI news — the things worth knowing about models, tools, and how the industry is actually using them.

What it is

Every morning at 04:30 SP time, a scheduled Claude routine searches the past 24 hours of AI news across the main vendors — Anthropic, OpenAI, Google, xAI, Microsoft, Apple, Meta, Cursor — and a short list of reputable press. It picks six to ten stories worth reading, scores them, and commits a structured JSON file to this repository.

From there, a GitHub Actions pipeline takes over: it validates the JSON, merges it into a master article list, renders HTML from Jinja2 templates, and deploys to S3 via CloudFront. The briefing at prates.fyi is always the most recent edition. Older editions live in the archive.

How it started

Version 1 was a single Claude routine that did everything in one shot: search the web, write styled HTML, and push it directly to S3. No repository, no pipeline, no schema — just a script that produced a page. That worked until it didn't. The HTML drifted, the styling fell out of sync with the rest of the site, and there was no clean way to fix a bad run without re-running the whole thing. It staled in exactly the way you'd expect.

Version 2 separates the concerns properly. The routine's only job is journalism: research the news, write a JSON file, commit it. Everything else — validation, deduplication, rendering, deployment — is handled by the pipeline. The AI does the reporting; the repo does the publishing.

Architecture diagram

Source trust

The routine sticks to official vendor domains (anthropic.com, openai.com, blog.google, and similar) and a short list of reputable press (TechCrunch, The Verge, Ars Technica, Reuters, Bloomberg). Look-alike or low-signal domains are skipped. When a search snippet isn't enough, it fetches and verifies the source before citing it.

Who it's for

Mostly: me, at breakfast, on a tablet. If you stumbled onto it and find it useful — welcome. More of what I'm working on lives at github.com/pedroprates.

Stack

Research Claude scheduled routine (claude.ai)
Pipeline GitHub Actions
Renderer Python 3.11 + Jinja2
Hosting S3 + CloudFront