shipwithjev

Catalog / Tools & apps

0342GitHub

Jev Wrapped

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…

gaborishka/jev-wrappedREADME ↗
# Jev Wrapped

Live at [wrapped.ivanhabor.com](https://wrapped.ivanhabor.com), no sign-in.

Paste the name of a public Telegram channel and get a card: what the channel posts, how much of it is ads, clickbait and emotional pressure, and how the mix changed over the last twelve months. Every post is judged separately by [Jev](https://typesafe.ai), a model that answers typed questions with probabilities and generates no text.

A channel with about 1,500 posts takes 35 to 85 seconds, depending on the way to Jev, and costs about $0.10 at list price. The whole thing is one Cloudflare Worker and fits the free plan.

## Run it

Requirements: Node 22 or newer and a key for Jev: from [TypeSafe](https://typesafe.ai) itself or from [OpenRouter](https://openrouter.ai/settings/keys).

```bash
git clone https://github.com/gaborishka/jev-wrapped.git
cd jev-wrapped
npm install            # wrangler, the only dev dependency; the Worker itself has none
cp .env.example .env   # paste one of the two keys into it
npm run dev
```

Open http://localhost:5190, type a channel name, `@name` or a `t.me/...` link. The finished card lives at `/c/<channel>`; that address can be shared, and the card can be downloaded as a PNG. The page is in Ukrainian or English (button in the top right corner).

For a cheap trial add `?limit=60` to the page address: only 60 posts are read.

## How it works

1. **Reading.** Posts come from Telegram's own web preview, `https://t.me/s/<channel>`: no login, no bot, no API key. A page holds about 20 posts and `?before=<id>` gives the 20 before that id. Post ids are consecutive integers, which allows two shortcuts: the id from a year ago is found by bisection (about a dozen requests), and the pages in between are requested in parallel.
2. **Sampling.** Up to 1,500 posts f

Also filed under Tools & apps

  1. 0573

    Support chat: agent offered a human escalation path

    A frustrated customer hits a bot loop twice; the judge checks whether a human handoff was offered.

    everyai-com · Tools & apps

  2. 0572

    Subscription cancel: effective date is explicit

    An agent cancels a subscription; the judge checks the exact date the cancellation takes effect.

    everyai-com · Tools & apps

  3. 0571

    Sales quote: numbers match the official price list

    An agent quotes $29/seat against a price list; the judge checks the quote matches exactly.

    everyai-com · Tools & apps

  4. 0570

    Refund chat: agent stated the amount before issuing it

    A support agent issues a $42.50 refund; the judge checks the exact amount was stated before the refund was confirmed.

    everyai-com · Tools & apps