Automated daily research paper digest from arXiv with smart filtering, mobile-friendly interface, and AI-powered summaries.
Fetch, filter, and browse the latest research papers tailored to your interests. Desktop grid view for deep reading, mobile feed for quick scrolling.
- π― Smart Filtering - Keyword-based relevance scoring across custom research interests
- π± Mobile Feed - Swipeable, full-screen card interface optimized for phones
- π₯οΈ Desktop Grid - Multi-column layout with rich metadata and difficulty badges
- π§ AI Summaries - Auto-generated layman explanations using transformers
- π Deduplication - Never see the same paper twice with built-in tracking
- βοΈ Configurable - JSON-based settings for interests, filters, and preferences
- π¦ Archive - Auto-saves daily digests with browsable index
-
Clone & Run
git clone https://github.com/usr-wwelsh/research-digest.git cd research-digest run_digest.bat -
First run automatically:
- Creates virtual environment
- Installs dependencies
- Fetches papers
- Generates HTML digests
-
Open in browser:
latest.html- Most recent digestindex.html- Browse all archivestiktok_feed.html- Mobile-optimized feed
git clone https://github.com/usr-wwelsh/research-digest.git
cd research-digest
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
python main.py
python generate_index.pyEdit config.json to customize:
{
"interests": {
"Your Research Area": {
"query": "cat:cs.LG OR cat:cs.AI",
"keywords": ["keyword1", "keyword2", "keyword3"]
}
},
"settings": {
"papers_per_interest": 10,
"recent_days": 7,
"summary_max_length": 160
}
}| Setting | Default | Description |
|---|---|---|
papers_per_interest |
10 | Papers to fetch per category |
recent_days |
7 | Look back window (0 = all time) |
fallback_days |
90 | Extended search if few results |
summary_max_length |
160 | Max characters for summaries |
fetch_multiplier |
5 | Over-fetch for better filtering |
Use arXiv category codes in queries:
cat:cs.LG- Machine Learningcat:cs.CV- Computer Visioncat:cs.CL- Computation & Language (NLP)cat:cs.AI- Artificial Intelligencecat:cs.CR- Cryptography & Securitycat:cs.DC- Distributed Computing
Combine with OR/AND: cat:cs.LG OR cat:cs.AI
Want a self-hosted, always-on instance with Cloudflare Tunnel?
From your Proxmox host:
bash <(curl -sL https://raw.githubusercontent.com/usr-wwelsh/Research-Digest/main/create-lxc.sh)This automatically:
- Creates a Debian 12 LXC container (4GB RAM, 4 cores, 20GB disk)
- Installs Python, Caddy web server, and cloudflared
- Sets up the venv and all dependencies
- Configures a weekly cron job (Monday 8am) with CPU/memory limits
- Starts Caddy to serve digests on port 8080
After the script finishes:
- Enter the container:
pct enter <CTID> - Edit
/opt/research-digest/config.jsonwith your research interests - Set up Cloudflare Tunnel to expose it publicly
- Run a test:
/opt/research-digest/run.sh
Idle footprint is ~50-80MB RAM (Caddy + cloudflared). The weekly digest run spikes to ~4GB briefly for torch inference, then drops back down.
Want automatic daily updates synced to your phone? See the π± Complete Setup Guide for:
- Windows Task Scheduler configuration
- Linux/macOS cron jobs
- Syncthing mobile sync setup
- Troubleshooting tips
python reset_seen_papers.pyresearch-digest/
βββ config.json # Configuration (edit this!)
βββ main.py # Core paper fetcher
βββ generate_index.py # Archive browser generator
βββ generate_tiktok_feed.py # Mobile feed generator
βββ run_digest.bat # Windows launcher
βββ run.sh # Linux pipeline runner (used by cron)
βββ requirements.txt # Python dependencies
βββ create-lxc.sh # Proxmox LXC creator (run on host)
βββ setup.sh # Container bootstrap script
βββ Caddyfile # Caddy web server config
βββ research-digest-caddy.service # Systemd unit for Caddy
βββ latest.html # Latest digest (auto-generated)
βββ index.html # Archive browser (auto-generated)
βββ tiktok_feed.html # Mobile feed (auto-generated)
βββ seen_papers.json # Deduplication tracker
βββ arxiv_archive/ # Daily archives
βββ arxiv_digest_20251101.html
βββ ...
- Python 3.8+
- Dependencies:
transformers,torch,requests - Disk Space: ~2GB for model, ~10MB per digest
- Internet: Required for arXiv API and first-time model download
MIT License - see LICENSE file for details
Contributions welcome! Ideas:
- Additional paper sources (bioRxiv, SSRN, etc.)
- Browser extension for direct syncing
- Custom ML models for better summaries
- Export to Notion/Obsidian/Roam
- arXiv for the open research repository
- Hugging Face for transformer models
- Inspired by modern feed UIs and research workflows
Built with β€οΈ for researchers who want to stay current without drowning in papers

