explaingit

wislonl/newsline

Analysis updated 2026-05-18

0PythonAudience · generalComplexity · 3/5Setup · moderate

TLDR

A private Mac app that groups news from multiple sources into AI-scored, evolving storylines instead of a flat feed.

Mindmap

mindmap
  root((repo))
    What it does
      Groups news into storylines
      Scores importance with AI
      Runs locally on Mac
    Tech stack
      Python daemon
      SwiftUI app
      SQLite
    Use cases
      Track evolving news stories
      Aggregate Hacker News and RSS
      Chat about a specific story
    Audience
      Power news readers
      Mac users
    Sources
      Hacker News
      RSS and Atom feeds
      Reddit
    AI
      Bring your own key
      Anthropic OpenAI MiniMax
      English and Chinese

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Follow a breaking news story as it evolves across multiple updates.

USE CASE 2

Aggregate Hacker News, RSS feeds, and Reddit into one importance-scored feed.

USE CASE 3

Ask an AI chat panel follow-up questions about a specific story.

What is it built with?

PythonSwiftUISQLite

How does it compare?

wislonl/newsline0xhassaan/nn-from-scratch3ks/embedoc
Stars00
LanguagePythonPythonPython
Last pushed2023-06-08
MaintenanceDormant
Setup difficultymoderatemoderatehard
Complexity3/54/51/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires macOS 14 or later and your own AI provider API key.

In plain English

Newsline is a personal news tool that runs entirely on your Mac, requiring macOS 14 or later. Unlike typical news apps that show a flat daily list, newsline organizes items into storylines, which are ongoing threads that grow as new articles about the same event arrive. So if a story breaks Monday and updates come Wednesday and Friday, all three pieces are grouped together rather than appearing as unrelated rows. The tool pulls from multiple sources: Hacker News, RSS and Atom feeds with eight pre-configured, and Reddit subreddits via public JSON. Each incoming item is rated on a 0 to 10 importance scale by an AI model of your choice. When multiple items are determined to be about the same event, through entity extraction and AI verification, they merge into one story, and the summary is rewritten to fold in the new information. Everything stays on your machine. A Python daemon fetches content, scores it, and stores it in a SQLite database. A native Mac app built with SwiftUI reads that database and displays the storylines in a sidebar, letting you filter by score, search full text, and tag or dismiss items. There is also a chat panel where you can ask follow-up questions about a specific story, with responses streamed back as they are generated. Newsline supports both English and Chinese, and one configuration flag switches all AI-generated output to Simplified Chinese. The AI provider is pluggable, working with Anthropic, OpenAI, MiniMax, or any OpenAI-compatible API endpoint, so you bring your own key and choose your own model. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Help me configure newsline to use my own Anthropic or OpenAI API key.
Prompt 2
Explain how newsline merges multiple articles into a single storyline.
Prompt 3
Show me how to add a new RSS feed source to newsline's configuration.

Frequently asked questions

What is newsline?

A private Mac app that groups news from multiple sources into AI-scored, evolving storylines instead of a flat feed.

What language is newsline written in?

Mainly Python. The stack also includes Python, SwiftUI, SQLite.

How hard is newsline to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is newsline for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.