 ##  [I built my own RSS reader because I don't want an algorithm to choose my news for me](/node/248) 

    *Submitted by Lennart on Thu, 18 Jun 2026 - 10:15*  

  ![I built my own RSS reader because I don't want an algorithm to choose my news](/sites/default/files/styles/wide/public/2026-06/composite_16.png.webp?itok=1cfThq_I)

 

Last night and this morning, I built two small pieces of software that I've been missing for a long time: an RSS reader that runs in my own terminal, stores everything locally, and doesn't ask anyone's permission. Two open projects, and together they are smaller than most would think.

## What it is

The first is a plugin for the Nushell shell, [nu\_plugin\_feeds](https://github.com/kiil/nu_plugin_feeds). It takes raw RSS and Atom XML and transforms it into structured data, meaning a real table with titles, links, dates, and categories that you can sort and filter just like anything else. It's written in Rust on top of a few well-tested libraries, and a release build takes less than a second.

On top of that lies [feeds](https://github.com/kiil/feeds), a small Nushell module that stores my subscriptions and articles in a single SQLite file. I can add a source, fetch all feeds in parallel, read the unread ones, open them in the browser, and mark them as read. The entire usage is a few commands:

```
feeds add https://hnrss.org/frontpage   # subscribe to a feed
feeds sync                              # fetch everything, save new posts
feeds items --unread                    # show only the unread ones

```

It works offline, it's fast, and the entire state is in one file that I own myself.

## Why it matters to more than just me

This isn't about nostalgia for an old format. It's about who decides what you see.

Ten years ago, you chose your own sources. Today, an algorithm chooses them for you, and it's not built to inform you. It's built to keep you on the platform. An RSS feed is a boring, transparent pipeline: You decide what comes in, and in what order, and no one sells your attention further along the way.

## The connection to AI

Notice what the structured output makes possible. When a news item comes in as a clean table instead of messy HTML, I can do anything with it: filter it, group it, or send it to a language model that boils down the most important of the day into three lines. The boring, owned pipeline is precisely the foundation an AI layer should sit on top of.

This is the same point I've been writing about all week. You own the pipe, and you rent the engine. The deterministic shell around the model is what survives any vendor change, and it's the part that is truly yours. An RSS reader is just a very small, very concrete example of the principle.

## The custom-built has become cheap

Perhaps the most interesting thing is how little it required. Two projects, one evening and one morning, and the plugin builds in under a second. A few years ago, "build your own feed reader with structured output and a local database" would have been a small development project. Now it's a cozy evening. Modern tools have collapsed the price of custom-built solutions, and it's the same movement I described when I built my own CRM in [The world's best CRM is mine](https://docujai.com/da/node/239).

You don't need to build an RSS reader. The point is that the tools that fit you exactly and run on your own hardware are no longer exclusive to those with a development department. And at a time when access to the big systems is being rationed and controlled externally, as I wrote in [They're splitting AI into an A-team and a B-team](https://docujai.com/da/node/246), it's worth remembering that most of what matters in your daily life is still something you can own yourself.

Both projects are open on GitHub: [nu\_plugin\_feeds](https://github.com/kiil/nu_plugin_feeds) and [feeds](https://github.com/kiil/feeds).