Briefed: Building an AI Newsletter Reader with OpenClaw
The Setup
A few weeks ago I bought a Mac mini specifically to run OpenClaw — an AI agent platform that runs locally and connects to your tools, calendar, messaging, the lot. I'd bought into the pitch: a personal AI that lives on your machine, not in a browser tab.
The physical thing surprised me. There's something genuinely different about having this small box on your desk running an agent 24/7 versus opening a chat window. It felt more like hiring someone than installing software. The Telegram integration was immediately cool — getting messages from an AI that knows your context, unprompted, felt like the future.
Then I hit the wall. OK, but what does this actually do for me right now?
The Problem
I didn't want to spend day one burning £100s in API tokens on some sprawling agent orchestration experiment. I wanted the 2026 equivalent of iBeer — something that felt magical, was actually useful, and wouldn't blow up in my face if I got it wrong.
So I started thinking about real problems I actually had. I have 3,600 unread emails. I subscribe to 50+ newsletters — Indie Hackers, FT Weekend, AINews, Hit Points, The Daily Degen, crypto digests. All stuff I genuinely want to follow. But the volume is overwhelming and the friction of opening each one always wins.
I used to love RSS readers. That era of the internet where you had a clean feed of things you chose to follow, ranked and skimmable, before the algorithm took over. Nobody had built a modern equivalent that worked with newsletters and actually learned your preferences.
Then it clicked: OpenClaw has a cron scheduler. It can make API calls. It can remember things between sessions. What if I built a mashup of Gmail and an intelligent RSS reader — something that reads every newsletter I've subscribed to each morning and pulls out the stories worth my attention?
Small enough to build in an evening. Interesting enough to actually use.
The Design Insight
Early in the build, I described the goal as surfacing "interesting newsletters." My AI assistant pushed back:
"What you actually want isn't 'here are your newsletters' — it's 'here are the most interesting things from everything in your inbox today.'"
My response reframed the whole product:
"Well my interests ARE the newsletters, that's why I subbed to them — the issue is I've subbed to so many it's overwhelming and I don't read them all but I know I'm missing cool stuff."
That's the core insight. I'd already done the curation. The AI's job isn't to filter sources — it's to skim within them. To read every newsletter I trust and extract the 10 stories worth my attention today. Like having a well-read assistant who knows your taste.
This shifted the design from a digest model ("here are summaries of your 13 newsletters" — still requires reading 13 items) to a feed model ("here are today's 10 best stories, ranked for you" — actually solves the problem).
The Build
The first session was striking. I described the problem, talked through the design, and within about 30 minutes I had a working cron job delivering a newsletter digest to Telegram every morning. Gmail connected read-only via OAuth, a Claude Haiku agent running at 7am daily, summaries and links to my phone. There were real problems to fix along the way — but fixing them in the same session, conversationally, without losing the thread, was what felt genuinely new.
The most striking thing: self-improvement I didn't ask for
The next morning the agent proactively flagged things I hadn't raised. It reported that a handful of non-editorial emails had slipped through the filter — a Credit Karma alert, a legal notice, referral spam — fixed the filter itself, and listed what it had changed. It had also spotted that the digest was listing newsletters rather than extracting individual stories, and suggested a redesign before I'd even thought to ask.
That's not what you get from Claude on the web. That's not even what you get from Claude Code, which is brilliant but fundamentally reactive. This was the agent connecting what I said I wanted with what it observed happening and acting on the gap — without being prompted.
What made this feel safe rather than alarming: I'd deliberately given it minimal permissions. Read-only Gmail access — it can't send, delete or modify anything. And it was self-contained: the worst thing it could do is write a slightly odd newsletter summary. Within that scope, autonomous self-improvement is a feature. It's the same trust logic as hiring someone junior for a well-defined job — you don't give them the keys to everything on day one, but within their lane you want them to use their initiative.
The link problem → a better product
Gmail links open in Telegram's built-in browser, which doesn't trigger the Gmail app on your phone. Annoying — but the workaround turned out better than the original plan. A local Node.js web reader on the Mac mini, pinged each morning via Telegram. Opens in Safari, so Universal Links work and Gmail links drop into the app properly. Stories load cleanly, voting and notes work well, and the reader builds a topic interest profile over time. The constraint forced a better product.
What We Built
25–30 ranked stories delivered to my phone every morning. Total build cost: ~$6 in API tokens. Running cost: ~$1/month. The full stack:
- Python pre-fetch script — pulls newsletters from Gmail, strips to compact metadata
- Claude Haiku cron agent, 7am daily — extracts individual stories, scores them against a topic interest profile, writes a ranked digest
- Local Node.js web reader on the Mac mini — mobile-optimised, vote up/down, save snippets, interest profile evolves with each vote
Then I Published It
From "let's publish this" to live on GitHub and Clawhub (OpenClaw's skill directory): 45 minutes. A personal tool that's been running for weeks is already a tested, working skill. The delta between "mine" and "shareable" is smaller than it seems.
What intrigues me about Clawhub is what it hints at: a new kind of app store, one where the units aren't polished consumer apps but working agents — tools people actually built and run. Browsable, installable, immediately useful. It feels like an early glimpse of a distribution model that could matter.
Lessons
Scope tightly, then let it act
The self-improving behaviour was the most striking thing about the platform — and it only felt safe because the permissions were deliberately minimal. Read-only Gmail. Self-contained output. Nothing it could touch downstream. Within that scope, autonomous action is a feature. My instinct on day one was to imagine everything an agent could do. The better instinct: find one well-bounded job, limit what it can touch, and let it surprise you.
The first framing is rarely the right one
Starting with "digest" felt obvious. The better product came from the AI pushing back on that framing: not summaries of newsletters, but stories surfaced from within them. I'd already done the curation — I just needed something to skim within it. That reframe changed the whole design.
Constraints force better products
Telegram's in-app browser limitation was annoying. It was also the forcing function for a proper web reader — which turned out to be a better product than Telegram-only would ever have been.