// the find
samuelclay/NewsBlur
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.