KonH/SmartReader
Personalized news aggregator that reads RSS and Telegram, scores and summarizes articles with AI, and learns your interests from feedback
What's novel
Personalized news aggregator that reads RSS and Telegram, scores and summarizes articles with AI, and learns your interests from feedback
Code Analysis
19 files read · 4 roundsA personalized content aggregator that reads RSS/Telegram feeds, scores articles using a two-tier system (fast keyword pass + LLM refinement), merges related articles, and learns user preferences from upvote/downvote feedback to improve future recommendations.
Strengths
Clean architecture with abstract interfaces and swappable implementations, practical two-tier scoring that balances cost and quality, and a well-designed feedback loop that continuously improves the interest model. The code is readable, well-organized, and the callback-based async pattern is pragmatic for a CLI/bot application.
Weaknesses
The SourceReader.read_sources method has a race condition where it returns empty results because it calls the callback before the async readers complete. Test coverage is good for core logic but missing for LLM-dependent code paths and the Telegram UI.
Score Breakdown
Signal breakdown
Innovation
Craft
Traction
Scope
Evidence
Commits
54
Contributors
2
Files
132
Active weeks
4
Repository
Language
Python
Stars
1
Forks
0
License
MIT