jev-skip
Browser extension that reads the YouTube caption track and paints a per-segment sponsor probability on the seek bar before the intro ends, with no crowd database; reports…
# jev-skip
Skips YouTube sponsors on videos nobody has labeled yet. Catches 77% of the sponsor seconds
SponsorBlock's crowd marked across 23 videos, at 34s of false skips per hour, for $0.0008 a
video, with answers 0.9s after the request goes out and slices on the bar within about
three seconds of opening the page.
npm install && npm run build # then load dist/chrome-mv3 unpacked, paste your key
Nine seconds, one take: the extension reads the captions, asks once, paints ten slices and
jumps 38 seconds of a Squarespace read it was never told about. The popup on the right is
the same run, live: 50 segments, 25.3k tokens, $0.0011, answered in 1546 ms. In the clip the
answers come from `fixtures/answers/`, recorded 2026-09-18 and replayed at their recorded
latency, because this machine has no key. Everything else in frame is happening.
Numbers from `npm run measure` over the fixtures in this repo, answered through a Vercel AI
Gateway shim rather than the direct API. Re-measure on `api.typesafe.ai` before pinning
anything to `jev-1.13.0`.
## Why
Every sponsor skipper on the market waits for a stranger to submit the timestamps.
SponsorBlock is excellent at that and it is always late: a video uploaded an hour ago has no
segments until someone watches it, notices the read, drags two handles and submits. For most
videos that never happens at all.
This one reads the caption track of the video you are already watching, sends the transcript
to Jev once, and gets back a probability per 30-second segment. The bar is painted before the
intro is over, on a video nobody has ever labeled. Slices are tinted by how sure the model is,
so a borderline sponsor is a ghost and a confident one is solid, and you can see the doubt
instead of guessing at it.
The honest limit lives h