finds.dev← search

// the find

samuelclay/NewsBlur

★ 7,497 · Python · MIT · updated Jun 2026

NewsBlur is a personal news reader that brings people together to talk about the world. A new sound of an old instrument.

NewsBlur is a self-hostable RSS reader with a social layer (blurblogs, shared stories) and a per-user story training/filtering system. It's been running as a live service since around 2012 and the codebase shows it — this is production software, not a weekend project. Target audience is developers who want full control over their feed reading data and don't want to depend on another service shutting down.

The training/classifier system is genuinely useful — you can train on authors, tags, and titles, not just feeds, which is more granular than most RSS readers offer. The stack is battle-tested: PostgreSQL + MongoDB + Redis + Elasticsearch each handle what they're actually good at rather than forcing one database to do everything. Docker Compose setup with a single `make` command is honest about the complexity while making it approachable. The MCP server integration is a real addition — being able to have an AI agent mark stories read, save with tags, and update classifiers via a standardized protocol is more practical than most 'AI-enabled' features tacked onto old projects.

The infrastructure footprint for self-hosting is heavy: you're running PostgreSQL, MongoDB, Redis, Elasticsearch, Celery workers, a Node.js service, and nginx before you read a single article. Elasticsearch is listed as optional but the search feature is a core selling point — calling it optional undersells what you're giving up. The Django codebase is 12+ years old and there's no indication of async support; feed fetching under load will be a bottleneck. Story retention defaults (30 days premium, 14 days free) are hardcoded assumptions from the hosted service that make no sense for self-hosters who presumably want unlimited retention.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →