cd /news/ai-tools/i-built-my-own-rss-reader-in-an-afte… · home › topics › ai-tools › article
[ARTICLE · art-168005] src=dev.to ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

I Built My Own RSS Reader in an Afternoon, With AI Doing the Typing

A developer built LumenAI, a local-first RSS reader for macOS with AI summaries, in roughly an hour by acting as product owner and build verifier while an AI wrote all the code. The project used a phased spec with explicit non-goals and a human build check-in after each phase, since the AI's Linux sandbox couldn't compile a Mac app, yielding 38 Swift files, 27 tests and no runtime crashes. The AI layer centers on a single SummaryProvider protocol with six implementations, including Apple Intelligence on-device, Ollama, Claude, OpenAI and Gemini, with API keys stored in the macOS Keychain.

by read2 min views2 publishedNov 11, 2026

For years my RSS setup was a compromise. I never wanted to pay for a desktop reader, so I stayed on The Old Reader: a perfectly fine service, but it felt like visiting a website, because that's what it was. What I actually wanted was simple: a native Mac app, feeds stored locally, no account, no subscription, and fast enough to triage a hundred articles from the keyboard. So I stopped wishing and built it. LumenAI is a local-first RSS reader for macOS with AI summaries, taken from an empty folder to a notarizable DMG in about an hour of wall-clock time, with me as product owner and build verifier while the AI wrote the code.

My pitch to the AI was one paragraph: a local RSS reader for Mac, a premium feel, and treat it like a real engineering project, with clear phases, and ask me questions before making decisions. That last sentence mattered most.

Instead of a wall of code, it interviewed me: stack, what v1 includes, what it excludes, how refresh works, what "premium" means concretely. A few rounds of multiple-choice later we had a spec.

Writing down the non-goals felt ceremonial. It wasn't: every time scope tried to creep, that list ended the discussion in one line.

Every choice optimised for native feel, local data, no servers.

.xcodeproj. The part I'm proudest of is the AI layer: one SummaryProvider protocol with six implementations (Apple Intelligence on-device, Ollama, Claude, OpenAI, Gemini, and Disabled). Swapping providers is a dropdown; keys live in the macOS Keychain.

for loop.<link> tags, one canonical model for every feed format.j/ k/space/ s/ m keyboard navigation. Every phase went the same way: the AI proposed decisions and asked questions, wrote the code and tests, then stopped, because its sandbox is Linux and can't build a Mac app. So I was the build machine: ⌘U, ⌘R, report back.

That constraint turned into a feature. It forced a human checkpoint between phases instead of a firehose of unverified code. Of three failures in the whole project, my builds caught two and the AI caught one re-reading its own code. Final tally: 38 Swift files, 27 tests, zero runtime crashes encountered.

Treat it like an engineering project, not a magic trick. Phases, a non-goals list, tests, and a check-in after every phase are why this took an hour instead of unravelling over a weekend. The AI typed every line; the spec, the taste and the "no, simpler" calls were the human part, and the project needed both.

That's the whole idea behind what I write on Curious Bit: you learn a stack by shipping something real in it, not by watching a syllabus. If you'd rather learn infrastructure-side AI the same way, I've also put together AICademy, built around doing the job rather than reading about it.

**Full write-up with the screenshot gallery:** [I Built My Own RSS Reader in an Afternoon](https://curiousbit.netlify.app/i-built-my-own-rss-reader-in-an-afternoon-with-ai-doing-the-typing/)

*Originally published on [Curious Bit](https://curiousbit.netlify.app/i-built-my-own-rss-reader-in-an-afternoon-with-ai-doing-the-typing/).*
── more in #ai-tools 4 stories · sorted by recency
── more on @lumenai 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/i-built-my-own-rss-r…] indexed:0 read:2min 2026-11-11 · —