TL;DR
TikTok's consumption model applied to market news — every card generated from filings and prices, not filmed by a creator.
The beat was real.
The drop was bigger.
Twenty card archetypes, one per data shape. Every one renders from a structured payload — no hand-authored HTML per card.
The rule that keeps it from becoming slop: motion comes from data, never from imagery. No stock footage, no AI video.
Design prototype. No backend, no pipeline yet — and that is the open question, not the card form.
Greybox is a codename — the game-dev term for the untextured blockout you build before the art exists. The real name is still an open decision.
What We Built
The Card Form
Twelve renderer versions settled the interaction: the card compresses in place while the thread scrolls free, and the source artifact is the visual rather than decoration beside it. Headline first, evidence second — the chart proves a point already made.
Twenty Archetypes
One card type per data shape — The Receipt, The Cohort, The Clock, The Insider and sixteen more. v12 draws all twenty from structured JSON payloads, which is what makes generation possible at volume instead of one-off design.
The Hook Engine
Rules for turning a data event into a headline, with anti-slop constraints written down rather than left to taste: precise numbers, no hedging, a rotation penalty so the feed does not fall into a single rhythm.
The Workbench
A stdlib-Python local tool with no build step. Renders docs, runs any renderer version against any batch of cards, and shows the prototype at the true physical size of an iPhone screen once you calibrate the display against a credit card.
The Review Machine
One connected surface for judging output: every stored card as a contact sheet tile, grouped by batch or by form, with its match score, every check that produced it, and a keep / tweak / kill decision in the same place. Built to spot trends across many runs, not to perfect a single batch.
What Is Still Unproven
Every batch so far was seeded by a human who already knew which events were interesting — which is exactly the judgement the pipeline has to make on its own. The real test is thirty cards generated unattended from live filings, then looking at the worst ones. That, and whether a content feed can pay for its own acquisition costs.