Riverline is a calm, three-panel RSS/Atom/JSON Feed reader with a FastAPI backend and a SvelteKit frontend.
- Subscribe to feeds and auto-discover feed URLs
- Reader view for full-article extraction
- Saved items and read tracking
- Manual and scheduled refresh
- Language filters for feeds and seed sources
- Adjustable column layout with optional auto-expand
- Light and dark themes
- Backend: FastAPI + SQLite
- Frontend: SvelteKit
- Python 3.11+
- Node.js 22.12.0+ (see
.nvmrc)
python -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
cd web
npm install
cd ..
./start.shFrontend runs on http://localhost:5173 (or the next available port), and the API runs on http://localhost:8000.
To stop background processes:
./stop.shBackend:
python -m uvicorn src.app.main:app --reloadFrontend:
cd web
npm run devUse the settings screen to import curated starter feeds.
python -m pytestFrontend build check:
cd web
npm run buildMIT. See LICENSE.