48Briefsproposed by the VP
2,989Shotsprompts awaiting generation
85Renderedpictures, not yet embedded
0Embeddingin the batch right now
79Stagedon the shelf for the QA Agent
the eddy (failed)
Feed generatororganizing the feed — why each card earns its slot
will forward
diversity pick
newness
personal taste
← next batch → the feedPublished0
QA gate
✕ rejected by the QA Agent
her phone
her forwards
rehearsed flow — every card and prompt is realclick any card on the riverrescued: 0
How it's really built
Content Director expands a brief into shots (dedup + diversity audit before spend) and fans out through Cloudflare Queues; Content Creator consumes idempotently (claim-at-enqueue), renders with gpt-image-1 via the AI Gateway, writes the master to R2, cuts variants with Images, embeds with Cohere embed-v4 into Vectorize (+ a raw copy in D1), then stages. Failures land in a DLQ with a rerun path. The counts are live from the catalog.
Why you can see it
A pipeline you can see is a pipeline you can trust — every stage is a number you can click, and every picture knows which brief it came from and which prompt made it. The failed shots stay visible on purpose; a demo that never breaks reads as a toy.