xht8723/NewsPage

Your personal all-in-one news&feed reader, fully customizable, all in local.

TypeScript

2

119 commits

updated May 8, 2026

See the code
feed
feed-reader
news
news-aggregator
news-app
newsapp
news-feed
newsfeed
newsletter
newspaper
rss
rss-aggregator
rss-feed
rss-reader

README

NewsPage

NewsPage is a desktop news reader that fetches headlines from multiple sources, compresses them into bite-sized updates, and ranks them by what matters to you.

The biggest value of NewsPage is personalized semantic sorting. Instead of only sorting by date or keyword matching, NewsPage uses embedding models to understand meaning, compare each story against your liked/disliked interests, and prioritize the most relevant news first.

NewsPage UI

Key Features

  • Interest-first feed: semantic ranking powered by embeddings
  • Clear reading: headlines are enriched into concise, structured snippets
  • Local-first workflow: desktop app with local storage and responsive UI
  • Configurable AI stack: provider settings are adjustable in-app

Tech Stack

  • Frontend: React + TypeScript + Vite
  • Desktop shell: Tauri 2
  • Backend: Rust + Tokio + SQLx (SQLite)
  • LLM/Embeddings: provider abstraction with semantic embedding-based ranking

Prerequisites

Before building/running, install:

  1. Node.js and npm
  2. Rust
  3. Tauri system dependencies. See Tauri Documentation
  4. Optional: Ollama for local LLM. See Ollama Documentation

Notes:

  • This repository's app root is newspage_app/ (nested workspace layout).
  • Run npm commands from f:/dev/NewsPage/newspage_app.

Install Dependencies

From newspage_app/:

npm install

Run in Development

  1. In newspage_app/, start the Tauri app:
npm run tauri dev

This launches Vite + Rust backend together through Tauri. If your selected provider is local, start that local runtime before generating news.

Build Frontend Only

From newspage_app/:

npm run build

This runs TypeScript compile + Vite production build and outputs to newspage_app/dist/.

Build Desktop App (Release)

From newspage_app/:

npm run tauri build

Expected output artifacts are generated under:

  • newspage_app/src-tauri/target/release/
  • newspage_app/src-tauri/target/release/bundle/

Bundle targets are configured as all in src-tauri/tauri.conf.json.

Useful Scripts

From newspage_app/package.json:

  • npm run dev: run Vite frontend dev server
  • npm run build: TypeScript + Vite production build
  • npm run test: run Vitest tests
  • npm run preview: preview production frontend build
  • npm run tauri dev: run desktop app in development
  • npm run tauri build: build release desktop bundle

Project Layout

  • newspage_app/: Tauri application source (frontend + Rust backend)
  • newspage_app/src/: React frontend
  • newspage_app/src-tauri/: Rust backend and Tauri config
  • image/README/: documentation images

Contributors

xht8723

109 commits

KeyG518

10 commits

xht8723/NewsPage

Your personal all-in-one news&feed reader, fully customizable, all in local.

TypeScript

2

119 commits

updated May 8, 2026

See the code
feed
feed-reader
news
news-aggregator
news-app
newsapp
news-feed
newsfeed
newsletter
newspaper
rss
rss-aggregator
rss-feed
rss-reader

README

NewsPage

NewsPage is a desktop news reader that fetches headlines from multiple sources, compresses them into bite-sized updates, and ranks them by what matters to you.

The biggest value of NewsPage is personalized semantic sorting. Instead of only sorting by date or keyword matching, NewsPage uses embedding models to understand meaning, compare each story against your liked/disliked interests, and prioritize the most relevant news first.

NewsPage UI

Key Features

  • Interest-first feed: semantic ranking powered by embeddings
  • Clear reading: headlines are enriched into concise, structured snippets
  • Local-first workflow: desktop app with local storage and responsive UI
  • Configurable AI stack: provider settings are adjustable in-app

Tech Stack

  • Frontend: React + TypeScript + Vite
  • Desktop shell: Tauri 2
  • Backend: Rust + Tokio + SQLx (SQLite)
  • LLM/Embeddings: provider abstraction with semantic embedding-based ranking

Prerequisites

Before building/running, install:

  1. Node.js and npm
  2. Rust
  3. Tauri system dependencies. See Tauri Documentation
  4. Optional: Ollama for local LLM. See Ollama Documentation

Notes:

  • This repository's app root is newspage_app/ (nested workspace layout).
  • Run npm commands from f:/dev/NewsPage/newspage_app.

Install Dependencies

From newspage_app/:

npm install

Run in Development

  1. In newspage_app/, start the Tauri app:
npm run tauri dev

This launches Vite + Rust backend together through Tauri. If your selected provider is local, start that local runtime before generating news.

Build Frontend Only

From newspage_app/:

npm run build

This runs TypeScript compile + Vite production build and outputs to newspage_app/dist/.

Build Desktop App (Release)

From newspage_app/:

npm run tauri build

Expected output artifacts are generated under:

  • newspage_app/src-tauri/target/release/
  • newspage_app/src-tauri/target/release/bundle/

Bundle targets are configured as all in src-tauri/tauri.conf.json.

Useful Scripts

From newspage_app/package.json:

  • npm run dev: run Vite frontend dev server
  • npm run build: TypeScript + Vite production build
  • npm run test: run Vitest tests
  • npm run preview: preview production frontend build
  • npm run tauri dev: run desktop app in development
  • npm run tauri build: build release desktop bundle

Project Layout

  • newspage_app/: Tauri application source (frontend + Rust backend)
  • newspage_app/src/: React frontend
  • newspage_app/src-tauri/: Rust backend and Tauri config
  • image/README/: documentation images

Contributors

xht8723

109 commits

KeyG518

10 commits

Languages

TypeScript

51.4%

Rust

47.6%