We Were Drowning
in AI Content.
So We Built
Agents to Fix It.
What building a two-agent newsletter system taught me about the gap between demos and real products.
Keeping up with AI was starting to feel like a full-time job. Not because the content wasn't good. Because there was too much of it. New models, new frameworks, new takes on how work itself was changing. Every single day. By the time I'd read three newsletters and skimmed my feeds, I'd spent an hour and still couldn't tell you what actually mattered.
I mentioned this to Jimmy Iliohan over coffee. He's a consultant building AI products across finance, retail, logistics, and manufacturing. He was dealing with the same thing. So we built a solution for ourselves: a daily email that filtered the noise and surfaced what actually mattered for product builders and leaders. Once it worked well for us, we opened it up.
“Build something you have to maintain. That's where the real education is.”
The First Version
Jimmy built it in a day using n8n, a no-code automation tool that lets you chain actions together without writing traditional code. It ingested articles, sorted them into Airtable, ran an AI summarization step, and sent an email. Clean. Fast. Done.
But n8n and I had history. I'd experimented with it on other projects and could never quite get it to behave consistently. I understood the premise, could build simple things, but anything more complex felt like fighting the tool. It had a ceiling, and I could feel it.
Then something shifted. Claude Code made custom software genuinely accessible in a way that no-code tools never quite had. Not “accessible if you're a developer.” Accessible to a product person willing to think clearly and iterate fast. The tradeoff changed. If I was going to invest time in a system, I'd rather learn something I could shape, extend, and actually own. We rebuilt from scratch. Within 24 hours, we had a real version running.
Ingestion Agent
Runs continuously. Pulls articles from RSS feeds, checks for duplicates, stores to the database, tags, and summarizes. It doesn't decide what's important. It processes everything cleanly so the Newsletter Agent can work with it.
Newsletter Agent
Runs every morning at 8am. Pulls the last 24 hours, selects the 5 most relevant articles, writes a summary for each, writes an overall intro and conclusion, and sends via Resend. Optimized for consistency, not brilliance.
When Airtable Broke
The first real infrastructure decision wasn't planned. It was forced. About 30 days in, Airtable hit its storage limit on the articles we were ingesting. New articles stopped storing. The whole workflow broke. We moved to Supabase: an open-source database with SQL querying, real authentication, and vector support for AI-powered search down the road. More importantly, it gave us a proper structure to store not just articles, but the prompts our agents use, newsletter settings, templates, and the manual content we add to the Weekly edition.
We also built a full admin portal to manage the whole system. Mobile and desktop-friendly, because if I'm going to maintain this between meetings, it needs to work from my phone. From the portal, I can track subscribers, monitor API health, add content, and trigger manual sends. I can manage the Ingestion Agent's sources from here. Add RSS feeds. Control when they get pulled. Give the agent new directions without touching a line of code. The Weekly edition has three editorial sections: Chef's Table (our short intro), Reading (articles worth your time), and Cooking (highlights from what we're building). I fill these out from my phone on a Sunday morning. The email goes out Sunday night.
The Demo Is Table Stakes
A year ago, an “impressive AI demo” meant getting a language model to do something surprising. That bar has moved. Anyone can spin up a prototype in an afternoon now. The demo is table stakes. The hard part is what runs behind it: where data lives, how delivery logic works, what happens when the workflow partially fails, and whether anyone can see inside the system when something goes wrong. It's the difference between a prototype and a product.
Security matters here too. Moving fast isn't an excuse for ignoring what could go wrong. Tests and checks exist for a reason. An admin portal that surfaces API health isn't just convenient. It's how you catch a problem before your subscribers do. What we built isn't complex by engineering standards. But it runs every day, handles real failures, and taught me what building real AI systems actually requires. Not the flashy part. The infrastructure part.
If you're a product leader thinking about what's now possible with AI: don't just watch the demos. Build something you have to maintain. That's where the real education is.
To see the newsletter in action subscribe at cucinalabs.com. We're sharing updates on experiments and what we're learning weekly.