Skip to content

Latest commit

 

History

1,063 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

icon Once

Collect stories from different sources (RSS, Hacker News, Lobsters or Reddit, custom), so you can stop scrolling through those sites all day and look at each story once. Available as desktop app for Electron, side-panel extensions for Firefox and Chrome, and Capacitor applications for Android and iOS.

Downloads

Latest releases include:

  • Windows Electron app (Squirrel installer with automatic updates, plus a ZIP)
  • Linux Electron app (.deb and a portable ZIP)
  • macOS Electron app (.dmg and ZIP for Apple Silicon and Intel; ad-hoc signed, so the first launch needs Control-click → Open)
  • Firefox extension
  • Chrome extension

Android and iOS builds share the version number but are not published yet; see Development to build them.

Features

  • Collect and merge stories from different sources
  • Mark stories as read or skip them
  • Search local stories and online on the different sources
  • Sync state via couchdb
  • Filter stories based on keywords
  • Dark and Light theme
  • Reader mode, with saved article text for offline reading, read aloud with the system voices or the bundled offline voice, and find in page
  • Per-source cache timing and cache-first launch
  • Keyboard navigation and per-platform story buttons
  • Add-ons: collectors, presenters, trays and actions, installed from a URL, folder or ZIP; the AI "What? Wait, who, why?" add-on comes bundled and can be removed
  • Firefox extensions in the embedded browsers: uBlock Origin and Violentmonkey are bundled on Electron and Android, and any signed Firefox extension can be installed

Quick start

npm ci
npm run check

npm run check lints and type-checks the workspace, validates source structure, dead code, and package boundaries, and creates development builds for the browser extensions, Electron, and mobile targets.

Run and build

# Browser extensions
npm run build:extensions

# Electron desktop app
npm run start:electron
npm run test:electron
npm run make:electron

# Capacitor mobile apps
npm run run:mobile:android
npm run run:mobile:ios
npm run test:mobile

Browser build outputs are written below apps/firefox-extension/dist and apps/chrome-extension/dist, separated into dev and release directories. Load the relevant channel directory as a temporary Firefox add-on or an unpacked Chrome extension.

Documentation

  • Development: installation, local workflows, testing, and packaging
  • Architecture: platform design, package structure, and boundaries
  • Code map: composition roots, feature ownership, generated code, and where to start common changes
  • Collectors: source loading, built-in collectors, and Geny Match selector configuration
  • Add-ons: the manifest, the script API, collectors, capabilities, and how add-ons are installed and run
  • Built-app visual comparison: deterministic screenshots, historical baselines, and computed-style JSON
  • Releasing: versioning, cutting a tagged release, and CI publishing
  • Extension compatibility: what the embedded browsers run, installing Firefox extensions on Electron and Android, and the API limits
  • Android reading media: background playback with notification controls
  • Design system and design tokens
  • Roadmap

Screenshots

image

About

Stop endlessly scrolling Hacker News, Reddit, ... just read everything Once. Story reader for Desktop, Firefox, Chrome and mobile (Android, IOS, work in progress). Collect, deduplicate, and read stories from all your favorite sources

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages