Add Jev Wrapped - #64
gaborishka wants to merge 1 commit into
Conversation
|
Understand this PR’s impact Explore downstream dependencies and potential security impact with Blast Radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 2 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe project catalog now includes Jev Wrapped, a JavaScript app that analyzes up to 1,500 posts from a public Telegram channel and displays monthly scoring results. ChangesProject catalog
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~5 minutes Change: Other Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Jev Wrapped reads up to 1,500 posts from the last twelve months of a public Telegram channel and asks Jev four typed questions about each one: a Choice over ten kinds of post and three Noul questions (paid ad, clickbait, emotional pressure). Code applies fixed thresholds and adds the answers up into a card: the mix of kinds, the three shares, the mix month by month, and the posts that scored highest, linked so a reader can check them.
Live: https://wrapped.ivanhabor.com (no sign-in, no Telegram account)
Source, MIT: https://github.com/gaborishka/jev-wrapped
The questions: shared/questions.js. The Jev call, through TypeSafe or OpenRouter: shared/jev.js. Thresholds and counting: shared/aggregate.js.
Tests: npm test (25 tests, no key needed)
Posts come from Telegram's public web preview (t.me/s/), and the only text sent to Jev is the text of public posts. The shares are model judgments, and the README says where Jev got it wrong: on a channel with no paid advertising it marked two partner promotions as ads.
Category
apps, placed right after Jev Classifier, the other Telegram entry: that one analyzes an exported channel JSON locally, while Jev Wrapped reads a public channel by name, with no export, and keeps a card per channel. Only data/projects.json is touched, and npm run validate passes.Disclosure: I built it.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by CodeRabbit