A few weeks ago I stopped using Reddit. Not because the content was bad. There’s genuinely useful stuff there, but because I had no control over it. I was just overwhelmed with irrelevant content, negative content and constant suggestion of threads I have no interest in. I was full on doom scrolling daily, with a very bad signal to noise ratio.
The problem is that once you identify doom scrolling for what it is, you start seeing it everywhere. Algorithmic feeds are designed to keep you engaged, not informed. Leaving Reddit didn’t fix anything on its own, I just moved the habit to tech news sites, which have their own version of the same trap. Endless feeds, no prioritization, no sense of when you’re done. I wanted out, so I built my own.
What I Actually Wanted
The goal was simple, a reading list that someone who knew my interests had already curated and ranked, waiting for me each morning. Read it, close it, get on with the day. No infinite scroll. No algorithm deciding what’s outrage-worthy enough to show me next. No ads. Just the stuff I actually care about, organized by what’s most worth my time.
I care about a lot of different things, AI, developer tools, gaming, music production, woodworking, photography, product management, and productivity tools to name a few. No single site covers all of that well. I was already visiting a dozen bookmarks daily, missing things, and spending more time finding content than actually reading it.
The solution was to build something that pulls from all those sources automatically, uses AI to decide what’s most relevant, and presents it as a clean one-page digest every morning.
How It Works
Each morning at 6am, an automated workflow on my home server fetches the latest articles from 47 RSS feeds, everything from Ars Technica and The Verge to Sound On Sound, Fine Woodworking, and Lenny’s Newsletter. It filters out anything older than 36 hours and anything it’s already shown me, so there’s no repetition between days.

Every article then gets scored by a local AI model (qwen2.5) running on my hardware. The model reads the title and a text excerpt and assigns a relevance score from 0 to 10 based on my interests, then writes a one to two sentence summary. Nothing goes to an external service, it all runs locally, privately, on my own machines.
The scored articles get assembled into a daily digest and published to a private web address accessible from any of my devices.
The Reading Experience
The dashboard presents articles in tiers based on their score. The highest scored stories appear as large cards at the top of the page with images and full summaries, these are the things the AI thinks I’d most want to read in full. Below that is a grid of moderately relevant stories worth a skim. At the bottom is a compact list of lower-scored articles that are tangentially related but probably not worth much time.

There’s also a sidebar showing anything from the past few days I might have missed. The key difference from a normal feed is that there’s a bottom. The digest has a fixed number of articles, ranked by relevance, and when I’ve gone through them I’m done. There’s no more content waiting. No pull-to-refresh revealing another batch. The reading session has a natural end, which is something algorithmic feeds are specifically engineered to prevent.

What Changed After Using It
The first version worked, but a bit of actual use surfaced some things worth fixing:
The most obvious was interaction. Clicking an article would open it in a new tab, but then I had to come back and manually hit Done to clear it. That’s friction in a tool designed to reduce friction. I changed it so clicking the title opens the article and marks it read in one action. The Done button is still there for skipping without reading.
The second issue was content I wanted to come back to. Sometimes an article is interesting but I’m in the middle of something. I added a Later button on every article that saves it to a separate list and dismisses it. It persists until I explicitly remove it, unlike the digest which resets daily.

The third was history. Sometimes I’d open something, close the tab, and immediately forget what it was or where it came from. The dashboard now logs every article I open during the day, with the time I viewed it and a copy button that puts the title and URL on the clipboard in a format that pastes cleanly into Obsidian or a text message.

All three of these ended up as tabs in a single page rather than separate pages. Digest, Read Later, and History sit above the category filter bar. Everything stays in one place, only article links open new tabs. The category filter works across all three views, so if I want to see only the AI articles I saved for later, one tap gets me there.
A few smaller things that came out of daily use: clicking an article in the category filter now resets to All when switching to History or Later, but remembers where you were when you come back to the Digest. The feed list is stored as a plain JSON file on my NAS rather than buried in workflow code, so adding or removing a source is just editing a file. And there’s a keyword blocklist in the workflow so I can filter out topics by title before they even get to the AI scoring step.
Thoughts so far
The scoring isn’t perfect. AI models make odd judgment calls sometimes. But it’s good enough that I’m not second-guessing it. The stories that matter surface, the noise mostly doesn’t. The summaries are accurate enough that I can decide whether an article is worth reading from the preview alone, which means I open fewer things I end up not finishing.
More importantly, I can stop scrolling. There’s no feed to pull down. There’s a digest, I read it, and I close it. That’s the whole thing.
The Later and History features were things I didn’t know I needed until I used the system for a bit. That’s usually how it goes. Build the simple version, use it, fix what’s actually annoying rather than what you imagined would be annoying.
It took half a day to build the first version and another few hours to get it to where it is now. It’ll probably save me an hour a day going forward. That math still works out pretty well.
