A personalized AI news feed that pulls from multiple sources, filters by relevance, and scores articles based on configurable topics.
- arXiv — AI/ML papers (cs.AI, cs.LG, cs.CL, cs.CV)
- Reddit — r/MachineLearning, r/LocalLLaMA, r/EdgeComputing, r/MLOps
- Hacker News — top stories
- RSS — HuggingFace, TechCrunch AI, The Verge AI, NVIDIA, Google AI, Apple ML, Qualcomm AI
- Twitter/X — stub (optional, requires API key)
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.pyApp runs at http://localhost:8000. Hit the fetch button or POST /api/fetch to pull articles.
main ← production (auto-deploys to Railway)
└── dev ← development (work here)
-
Always work on
dev:git checkout dev
-
Make changes, commit, and push to
dev:git add <files> git commit -m "description of changes" git push origin dev
-
Test locally — run
python app.pyand verify everything works. -
When ready to deploy, merge
devintomain:git checkout main git merge dev git push origin main
Railway auto-deploys on push to
main. -
Switch back to
devfor the next change:git checkout dev
Hosted on Railway. Every push to main triggers an automatic redeploy.
The SQLite database is ephemeral — it resets on each deploy. Articles are repopulated by triggering a fetch after deployment.
Edit config.yaml to:
- Add/remove RSS feeds, subreddits, or arXiv categories
- Adjust fetch intervals per source
- Configure topic keywords and scoring