ArXiv Pulse
ArXiv Pulse is a local-first research inbox for arXiv papers. It fetches daily papers, ranks and enriches them, and serves an interactive FastAPI + frontend workspace for triage, review, and synthesis.
Highlights
- Daily arXiv fetch + local library storage (SQLite)
- Search modes: local keyword, semantic/vector, and global arXiv search
- Triage states (
new,liked,dismissed, bookmarks) with inbox automation - AI-assisted workflows (structure extraction, synthesis, digests, ranking support)
- Reading plan, follow-ups, alerts, and unified inbox views
- Export/share utilities and version-update tracking
Tech Stack
- Backend: Python, FastAPI, Uvicorn
- Storage: SQLite
- Frontend: Vanilla JS/CSS/HTML
- ML/AI utilities: scikit-learn + local/remote AI service integrations in
arxivc/ai_service.py
Quick Start
- Create and activate a virtual environment:
python3 -m venv .venv
source .venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Start the app:
./run_server.sh
Alternative:
.venv/bin/uvicorn arxivc.server:app --reload --host 0.0.0.0 --port 8001
- Open:
http://localhost:8001
Personal Config (Private)
Use this pattern to keep personal paths/tokens out of Git:
config.jsonis the public/shared base config.config.local.jsonis your private override (git-ignored).- The app loads
config.json, then overrides withconfig.local.json. - UI Settings saves to by default.