Skip to content

Jev Wrapped

Telegram channel X-ray: Jev judges up to 1,500 public posts for kind, paid ads, clickbait and pressure, producing a shareable card.

ProjectbetaMIT

Overview

Jev Wrapped takes the name of a public Telegram channel and produces a card showing what the channel posts, how much is ads, clickbait and emotional pressure, and how the mix changed over twelve months. Posts are read from Telegram's public web preview with no login, bot or API key; the post id from a year ago is found by bisection and pages are fetched in parallel. Channels with more than 1,500 posts are sampled evenly across the year so every month is represented.

Each post with text goes to Jev in its own request with four questions: a Choice over ten kinds of post and three Nouls for paid ad, clickbait and emotional pressure. Fixed thresholds count an ad from 0.7 (or 0.4 when the kind is also ad) and clickbait and pressure from 0.5, and the card links the highest-scoring posts for manual checking. The browser paces its own requests (up to 24 in flight, backing off when throttled). A 1,500-post channel takes 35 to 85 seconds and about $0.10 at list price. It runs as a single Cloudflare Worker on the free plan, with a live site and a Ukrainian or English UI.

What the decision model decides

TypeQuestionAnswers
ChoiceWhat kind of post is this (one of ten)?—
Yes / noIs this a paid ad?—
Yes / noDoes this post use clickbait?—
Yes / noDoes this post apply emotional pressure?—

How it works

  1. Read public posts via t.me/s and sample up to 1,500 across the year
  2. One Jev request per post with four questions
  3. Apply fixed thresholds and aggregate monthly
  4. Render a shareable card linking top-scoring posts

Strengths

  • About $0.10 per 1,500-post channel per the README
  • No Telegram login or bot needed
  • Links evidence posts for manual verification
  • Fits Cloudflare's free plan

Caveats

  • Thresholds are fixed heuristics
  • Public channels only
  • Judgments are probabilistic, not editorial verdicts

Getting started

git clone, npm install, cp .env.example .env (TypeSafe or OpenRouter key), npm run dev, then open http://localhost:5190.

At a glance

Type
Project
Status
beta
Language
JavaScript
Runtime
Cloudflare Worker
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • Media analysis: reads up to 1,500 posts from the last year of a public Telegram channel and asks Jev a `Choice` over ten kinds of post plus three `Noul` questions (paid ad, clickbait, emotional pressure) about each, counting an ad from 0.7, or from 0.4 when the kind is also ad, and clickbait and pressure from 0.5, then draws the monthly mix on a shareable card that links the highest-scoring posts for a manual check.

    yibie/awesome-jev
  • Telegram channel X-ray: Jev judges up to 1,500 public posts from a channel's last year with one `Choice` over ten kinds of post and three `Noul` checks for paid ad, clickbait and emotional pressure; code draws the monthly mix on a shareable card and links the highest-scoring posts. Live: [wrapped.ivanhabor.com](https://wrapped.ivanhabor.com).

    AnotiaWang/awesome-decision-models
  • The browser asks for up to four pages at a time (the plan says how many), which makes up to 24 Jev requests in flight, and shows every answer as it arrives. If a page comes back throttled, it goes to the end of the line and the run drops to three pages at a time, then two. There is no shared queue: every visitor's run is paced by their own browser, and the only shared ceilings are the daily ones below.

    logicrw/awesome-jev-projects
  • Telegram channel X-ray: for each public post of the last twelve months Jev answers a Choice over ten kinds of post and three yes/no questions (paid ad, clickbait, emotional pressure); deterministic code reads the posts from Telegram's public web preview, samples up to 1,500 evenly across the year, applies fixed thresholds and turns the answers into a card with the monthly mix and links to the highest-scoring posts.

    cobanov/awesome-jev
  • Telegram channel X-ray: Jev judges a year of posts, you get a card. One Cloudflare Worker.

    hellogumbo/awesome-jev

Frequently asked questions

What does each post get judged on?

Its kind (one of ten), and whether it is a paid ad, clickbait or emotional pressure.

How long does it take?

35 to 85 seconds for about 1,500 posts, per the README.

Do I need a Telegram account?

No, posts are read from Telegram's public web preview.

Related projects

  • Multi-user Telegram bot that judges every new post in public channels with Jev templates and routes matches to your DM or channels.

    ProjectbetaPython
  • Local Telegram filter that batches channel messages to Jev or a local Laya model and keeps only those matching your conditions.

    ProjectbetaPython
  • Privacy-first X filtering extension with local keyword and account rules, plus an optional Jev second pass on replies no rule matched.

    Pluginproduction
  • Chrome extension that uses your Jev key to hide high-confidence sexual and solicitation replies on X behind reversible placeholders.

    Browser extensionproductionTypeScript
  • Published Jev client and claim check from the Fake/Real evidence-review site, where Jev filters sources and judges each claim.

    ProjectproductionTypeScript
  • Browser extension that filters your X timeline by plain-language rules, with a decision model like Jev scoring every post by default.

    Browser extensionproductionTypeScript