shipwithjev

Catalog / Tools & apps

0269GitHub

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. 0616

    Jevstiller: distill Jev calls into a local model

    A self-hosted proxy that trains a local model on Jev's answers. It served 72% of Banking77 locally at 15 ms, with a 2% audit and a bound on disagreement.

    tomerglick57 · Tools & apps · 15 ms local

  2. 0611

    Scruple: code checks for what linters miss

    Semantic-aware linting with System One models: rules you can state in a sentence, checked against your code by Jev.

    @nalexpeae · Tools & apps

  3. 0606

    Algolia-style Postgres search with a Jev reranker

    Typo tolerance, typeahead, barcodes and facet counts in plain Postgres SQL, plus an optional Jev step that asks one question per top-10 result.

    @alex_forman1 · Tools & apps

  4. 0604

    Virtual Closet: outfits from closet videos

    built a virtual closet & outfit generator from raw closet videos. classification + semantic search thanks to jev 🥰. clueless closet dreams finally coming to life

    @maitreemervana · Tools & apps