An automated RSS-based news filtering system that collects articles, analyzes them, and only forwards the most relevant content.
This project fetches is an AI-powered information filtering pipeline with multi-user routing and real-time notification system. Only important articles are sent to the user as a notification via Home Assistant App.
I wanted to reduce information overload and automatically filter news that matters to me instead of manually browsing multiple sources.
- RSS feeds are parsed using
feedparser - New articles are extracted and deduplicated
- Articles are scored based on relevance logic / AI model
- High-score articles are forwarded to external systems (e.g. Home Assistant)
- Python 3
- feedparser
- requests
- RSS feeds
- Home Assistant integration (optional)
git clone https://github.com/JorenS15/newsbot.git
cd newsbotpython3 -m venv venv
source venv/bin/activatepip install -r requirements.txtpython3 app/main.pySome parts of the system require external services (e.g. APIs, Home Assistant, or LLM endpoints).
These are intentionally removed from this repository for security reasons.
Add your own configuration inside the code or environment variables.
RSS feeds → Parser → Deduplication → Scoring (LLM) → Filtering → Notifications (Home Assistant)
Title: AI breaks new benchmark
Score USER1: 8/10
Score USER2: 3/10
Reason USER1: matches AI and tech interest
Reason USER2: is not interested in AI
Relevant for: USER1
This project runs in production on a home server (Raspberry Pi setup). This repository is a cleaned and anonymized version for demonstration purposes.
There will be in every Python file comments with an explanation of what you need to do to make it work for you.
Some things in the code will be in Dutch. That is because I made it in Dutch before I uploaded it to github. I didn't want to change those names because it will probably break. So sorry if that makes anything harder to understand about the code.
The volleybal scores part will probably not work with any other livescore website because the variables are hard-coded for that specific site. So change those for your livescore site.
Project is stable and currently running in production on a home server. Future improvements may include better scoring models and expanded integrations.