Maybe my own RSS Reader could be useful for you too (opens in new tab)

I’ve used many open source RSS readers. Miniflux, FreshRSS, Tiny Tiny RSS - all great projects, but something was always missing.

I like reading on my Onyx Boox Note Air 4C e-ink reader. The problem is that practically none of these projects are adapted to this type of screen. The same applies to websites themselves.

So I decided to build my own project that would satisfy me.

Simplicity first

From the start, I focused on simplicity. I didn’t want to build a separate frontend in React or Vue that would require its own build process and all that hassle.

I chose:

  • SQLite - one file, zero configuration, backups are just copying a file
  • FastAPI - fast, simple, great documentation
  • HTMX - interactivity without writing JavaScript, HTML that does AJAX

The entire frontend is Jinja2 templates + HTMX + Tailwind. The server renders HTML, HTMX swaps page fragments. Simple and effective.

The process

First approach: universal scraper

Initially, I wanted to approach this broadly. The plan was simple - scrape any page and display it in a clean, readable form. I used the trafilatura library with a fallback to readability-lxml and BeautifulSoup.

Reality checks plans

This approach turned out to be… not quite right. Websites have very different structures. One site keeps content in <article>, another in <div class="content">, yet another scatters it across dozens of nested elements. Automatic extraction sometimes works great, and sometimes returns garbage.

Domain parsers

I settled on a hybrid approach. The general scraping strategy works for most sites, but for problematic ones I created “domain parsers” - dedicated extractors for specific domains.

I have separate parsers for Medium, GitHub, Wikipedia, and even for individual blogs I read regularly.

Is it a perfect solution? No. A site’s structure can change and the parser will stop working. But in practice it works well - sites change rarely, and when they do, fixing the parser takes a few minutes.

Important note: Feedy is a tool for convenient reading, not for bypassing paywalls or stealing content. Remember to visit the original sites - authors deserve your clicks.

Bookmarklet

I also added something like a bookmarklet. You drag a button to your browser’s bookmark bar, and then clicking it on any page lets you quickly add it to Feedy. It automatically detects RSS feeds if the page has one.

Three themes

I created three styles:

  • Light - classic, readable
  • Dark - for evening reading
  • E-ink - no animations, high contrast, optimized for e-paper

The last one was the main reason for creating this project and I’m most satisfied with it.

Summary

Feedy is good enough for me. It does exactly what I need - fetches articles from my favorite sites and displays them in a clean form, friendly to my e-ink.

Maybe someone else will find it useful too, so I decided to share it.


Loading more...

Keyboard Shortcuts

Navigation
Next / previous item
j/k
Open post
oorEnter
Preview post
v
Post Actions
Love post
a
Like post
l
Dislike post
d
Undo reaction
u
Save / unsave
s
Recommendations
Add interest / feed
Enter
Not interested
x
Go to
Home
gh
Interests
gi
Feeds
gf
Likes
gl
History
gy
Changelog
gc
Settings
gs
Browse
gb
Search
/
General
Show this help
?
Submit feedback
!
Close modal / unfocus
Esc

Press ? anytime to show this help