IG Outlier Lab
A 40K reel from a 5K account.
That is the whole thesis. A 40K play reel from an account that normally does 5K is a far stronger signal than a 200K reel from an account that always does 200K, and only one of those two is visible in a feed sorted by play count.
So every reel is divided by its own account median, over a rolling 90 day baseline. The dashboard tracks a fixed list of creators per niche, pulls their recent reels, transcribes the audio, and cuts the opening three seconds of each one into a muted clip you can watch without leaving the table.

The product
Reels are a one stage funnel.
A reel autoplays, so an impression is a view and there is no thumbnail decision to win. The spoken hook carries the entire choice to stay, which is why the first three seconds are the unit of analysis here and the interface is built to put them one click away from any row.
The written breakdowns are scoped to match what can actually be seen. The model gets the transcript, the caption and the opening frames, never the full video, so the notes analyse verbal structure and the promise the opening makes. Where a reel is carried by editing or camera work, the note is instructed to say so rather than invent a verbal explanation for something it cannot see.

Key decisions
Six calls that keep the ratio meaningful.
- Stack
- Next.js 16, TypeScript, Tailwind v4, Zod, Deepgram, ffmpeg, Claude API
- Corpus
- 630 reels across 28 creators in 2 niches, 621 with a cut hook clip
- Tests
- 90 cases plus a validator that recomputes every median
- 01Blank beats wrongan account with fewer than three mature reels shows a dash instead of a ratio, because the alternative is a number that looks authoritative and is not.
- 02Widen the baselinethe median runs over 90 days while the display window is 28, since a median computed over twelve reels moves 40 percent on one lucky week and takes every ratio with it.
- 03Show the young, exclude thema reel posted this morning has a fraction of its eventual plays. Its own low ratio is honest, but counting it in the denominator drags the median down and inflates everyone else.
- 04Derive at render, never storeratios and tiers are computed when the page builds, so retuning a threshold is a redeploy rather than a paid pipeline run.
- 05Hidden is not zeroa suppressed like count becomes null and drops out of every sum, and a reel with no play count is discarded rather than admitted as a phantom zero.
- 06Pay once per reeldownload, transcription and encoding are cached at field level, so a failed transcript retries while everything already paid for is skipped. One steady state run touched 299 reels and attempted 37.

What it refuses to do
A breakdown that fits any reel explains nothing.
The instruction the model runs under says exactly that: if the analysis could be pasted onto a different video without changing a word, it is wrong. Reels that merely matched their account median get no breakdown at all, because there is nothing there to explain.
The pipeline is built to fail rather than half succeed. It aborts if more than three creators error, or if fewer than 80 percent of attempted assets come back, on the reasoning that a half working run must not overwrite a good snapshot. Instagram media URLs carry a signed expiry, so nothing is hot linked and every frame is mirrored, which is the difference between a dashboard that keeps working and one that quietly goes blank a few days after each refresh.