boston · brad_time 9:42pm
← back to projects

featured · news aggregator

The Wire.

A local-first breaking-news aggregator. It ingests RSS feeds, scores and clusters headlines with DeepSeek V4 Pro, and delivers push notifications — all from a single machine, no cloud required.

Stylized The Wire app preview showing a news dashboard with clustered headlines

Why I built it

I wanted a news feed that doesn't show me the same story fifteen times from different outlets. RSS aggregators give you raw headlines, but they don't tell you what's actually important or group related coverage. The Wire uses an LLM to score significance and cluster similar stories, so I can scan what matters in under a minute. It runs entirely on a local machine — no subscriptions, no tracking, no algorithmic feed designed to keep me scrolling.

Highlights

AI-driven news clustering

DeepSeek V4 Pro scores and clusters breaking stories from dozens of RSS feeds, grouping related coverage so you see the story, not the noise.

Refreshes every five minutes

A systemd timer pulls fresh headlines and rebuilds clusters on a five-minute cadence, so the front page is never stale.

Zero-cloud dependency

Everything runs locally on a single machine — RSS ingestion, AI scoring, SQLite storage, and Astro SSR. No third-party services between you and the news.

Push notifications

Install as a PWA and get breaking-news alerts delivered straight to your lock screen via Web Push.

Core workflow

  1. 1 RSS feeds are fetched every five minutes by a systemd timer-driven ingest worker.
  2. 2 DeepSeek V4 Pro analyzes each headline, scores significance, and clusters related stories.
  3. 3 The Astro SSR site renders the latest clusters and top stories from SQLite.
  4. 4 Web Push notifies subscribers when a breaking cluster crosses the threshold.

Product details

The ingest worker is a TypeScript script triggered by a systemd timer every five minutes. It fetches configured RSS feeds, parses them, and writes raw stories into a local SQLite database.

After ingestion, DeepSeek V4 Pro scores each unprocessed story for significance and runs a clustering pass to group related headlines. The clustered output is what the Astro frontend renders — you see clusters ranked by significance, with source attribution preserved.

The site is an installable PWA. Subscribers receive Web Push notifications when a new cluster crosses the significance threshold. Everything is local-first — the only external API call is to DeepSeek for the AI scoring pass.

Stack