Build · Beginner · An afternoon
Build a daily AI news brief from the sources you choose
Every morning, the sites, blogs and feeds you follow are read, summarised and sent to you as one short digest.
Instead of paying for Feedly, ChatGPT Plus, Zapier or Make.
What you'll build
One short message each morning with what changed in your world: your industry's news sites, competitors' blogs, release notes and forums, deduplicated and summarised in a few lines each, with links. It is the job Feedly's AI features and the Grok news-summary templates do. Here a feed reader you host collects everything, a local model writes the summary, and the digest arrives in Telegram or your inbox.
Blueprint
Miniflux collects your feeds, and RSSHub makes feeds for sites that don't have one. Each morning Activepieces pulls yesterday's unread entries from Miniflux's API, asks Ollama to summarise and rank them, and sends the digest.
- RSSHub Feeds for sites without RSS Miniflux
- Miniflux Yesterday's unread entries (API) Activepieces
- Activepieces Titles and text, with your interests Ollama
- Ollama A ranked digest with one line per story Activepieces
- Activepieces The brief by Telegram or email You
The repos
- 01 · Collect the feeds Miniflux
Minimalist self-hosted RSS reader written in Go; a single binary with PostgreSQL, a clean web UI, filters, integrations and an API.
- Setup
- Medium; install a package, binary or Docker image and set up PostgreSQL source
- Hardware
- Very light; a few MB of memory and little CPU even with hundreds of feeds source
- Paid extras
- None; you only need a PostgreSQL database
- 02 · Feeds for any site RSSHub
Self-hosted RSS feed generator that makes feeds for thousands of sites that have none, from social networks to news and forums.
- Setup
- Medium; Docker Compose is the recommended path, with Redis and an optional headless browser for some routes source
- Hardware
- Not checked yet
- Paid extras
- None for most routes; X (Twitter) routes need a logged-in auth_token cookie or paid Pay-Per-Use developer API keys
- 03 · Summarise and rank Ollama
Local model runner that downloads and serves open LLMs (Gemma, Qwen, DeepSeek, gpt-oss and more) with a CLI and local API.
- Setup
- Easy; one-line install script or installer, then ollama run source
- Hardware
- Apple M-series or x86 (CPU only) on Mac; 4GB for Windows binary; RAM not stated source
- Paid extras
- None for local use; Ollama Cloud plans optional (Pro $20/month)
- 04 · Schedule and send Activepieces
Self-hostable no-code automation builder with 280+ TypeScript integrations ("pieces") that are also exposed as MCP servers.
- Setup
- Medium, install script or a single docker run with embedded database source
- Hardware
- Production sizing: app 1 vCPU / 1 GB per ten workers; each worker 0.5 vCPU / 1 GB; Postgres 2 vCPU / 4 GB; Redis 1 vCPU / 1 GB source
- Paid extras
- None required; enterprise licence and Activepieces Cloud are optional
Step by step
Install commands change, so each step links to the repo's own docs for the exact commands.
-
Schedule it in Activepieces
Make a flow that runs every morning, fetches unread entries from Miniflux's API, sends them to Ollama, and posts the digest to Telegram or email. Mark the entries read afterwards so tomorrow starts fresh.
Uses Activepieces · its docs
Watch out
Some sites block automated readers; RSSHub's routes for social networks may need your own account cookies or API keys.
Take it further
- Add a second, weekly brief that only covers competitors.
- Let a reply such as "more on 3" fetch the full article and summarise it in detail.
- Send stories about named companies to a separate alert channel straight away.
Questions
Can I use Grok for the summaries?
Yes. Call xAI's paid API in place of Ollama. Summaries are short, so the cost per day is small, but your reading list goes to xAI.
Why not just read the feeds?
You can, and Miniflux is a good reader on its own. The brief helps when you follow more than you can read: it gives you the ten things that matter and the links to dig in.
Every repo here is open source, still maintained and checked against its own documentation. How we check →