I have a blog. I have a LinkedIn carousel cadence. I have 1,524 git commits in my personal AI platform. None of those let me show you the work between the episodes.
So I'm starting a newsletter.
The carousel format compresses three weeks of building into eight slides and one paragraph. It's good for the headline. It's terrible for the texture — the four broken Docker builds, the failed Prefect deployment, the asyncio event loop that cost me a weekend before I understood it. Those stories don't fit the format. They live in my git log and nowhere else.
The blog at blog.rduffy.uk gets the polished post-mortem. LinkedIn gets the headline. This newsletter gets the texture in between.
What that looks like:
— Sundays: a deep post on something I shipped, broke, or learned this week. Same building-in-public discipline as the blog, but the work-in-progress version. Screenshots of failed deploys. Git diffs from rollbacks. The 0.007 reranker score that almost got merged before I caught it.
— Wednesdays: five links, one paragraph each. What's actually shipping in AI infrastructure this week. Curated for builders, not for people performing AI fluency.
What you won't get: hot takes on AGI, "10 prompts that will change your life", or carousel-format thinkpieces. There are enough of those.
Who this is for: engineers, SREs, platform people who have shipped enough production systems to know what reliability actually costs, and who want to build with AI without pretending they wrote the Python themselves.
I don't write the Python. I direct AI to write it, and I judge whether the output works. That's the whole methodology and the whole content of this newsletter.
Same as every episode — every piece tracked through git commits, vault evidence, and ADRs. Building with AI means building the trust layer too. The newsletter is part of that trust layer.
If you've been reading the blog and want the work-in-progress version, you're in the right place. Start here:
→ Season 3 Episode 4: When the Bot Lied — the post that taught me reranker scores below 0.10 mean "refuse to answer, don't synthesise noise"
→ Season 3 Episode 3: The Day Everything Got Sealed — 39 searches hit my exposed MCP bridge in 26 hours; here's what I did in the next 86 minutes
Subscribe, and Sunday's first deep post lands in your inbox.
