All systems

Case study

Content Multiplier: one video in, a week of content out.

A founder records one video a week. Turning it into a week of posts across every platform used to take a person two full days. Now a transcript goes in and a finished week comes out, checked, rendered, and booked onto a calendar.

The tool itself belongs to a client, so the video below runs the same engine on an invented creator, a Tucson plumbing company that doesn't exist. Nothing is blurred because nothing belongs to anyone real. Every word and image in it is what the engine produced.

42 seconds, no sound. One transcript goes in, six writing steps run at once, the images render, and 43 finished pieces come out in 2 minutes 53 seconds, for $1.39 in model spend.

Want to press play yourself? Click through a full run on an invented creator, from the transcript to every finished post, card and slide.

1 → 50+
One transcript becomes 21 LinkedIn posts, 15 X posts, 10 quote cards, 2 carousels, a newsletter and a YouTube package.
$0.15 to $3.40
What a full week costs in model spend, from the small model to the top model with extended thinking.
268K → 49K
Weekly cache-write tokens after the shared rules were cached once instead of once per skill.

How a run moves

Most of this pipeline is plain code. The model does the writing in the middle, and everything around it is there to check the writing before a real account ever sees it.

  1. Transcript inThe week's video subtitles are dropped on the operator screen and stripped to plain text, so no tokens are spent on timestamps.
  2. Shared rules, cached onceThe voice and brand rules, about 46,000 tokens, sit in one cached prefix that every writing step reads.
  3. Writing steps runCaptions, LinkedIn posts, the newsletter, X posts, quote cards and the YouTube package, each with its own instructions on top of the shared prefix.
  4. Checks before anything is keptA parser that expects broken output and repairs it, length caps per platform, and an automatic re-roll when a piece comes back wrong.
  5. Images renderedQuote cards, carousels and one-pagers are laid out as HTML and rendered to PNG and PDF in a headless browser.
  6. Publish holdAnything flagged is held back from the schedule. A note that names one lane holds only that lane. A note the code doesn't recognize holds everything.
  7. Booked, and recordedThe week lands on a collision-free posting calendar, and every scheduled post is written to a ledger as it goes out.

Three decisions worth explaining

Assume the model will misbehave

A model writing fifty pieces a week will eventually return one that's too long, cut off, or shaped wrong. So the code never trusts the output. It parses defensively, checks every piece against the platform's limits, re-rolls what fails, and holds anything it can't verify. The rule I kept coming back to: unknown means unsafe.

Pay for the rules once, not six times

The first version gave every writing step its own copy of the brand rules, so the same 46,000 tokens were written to the cache again and again. Moving them into one shared, cached prefix cut weekly cache writes from about 268,000 tokens to about 49,000. Turning extended thinking off by default and letting the cheap model take the simple pieces did the rest. A full week now costs between $0.15 and $3.40, depending on the model you pick.

The failure that rebuilt the publish step

Publishing a week used to be one long request, six to twelve minutes. One week the host cut the connection partway through, the button got clicked again, and two runs overlapped: 273 posts scheduled, 135 of them exact duplicates, findable only by their creation times.

I cleaned it up by hand, then fixed the cause. Publishing now holds a lock that survives a restart. Each platform's post IDs are written to a ledger the moment that platform finishes, so a crash still leaves a record. A retry skips anything already done. And any week can be unpublished from that ledger. What I'd do differently: make publishing a background job on day one, not a request someone waits on.

Built with Node and Express, the Anthropic API with prompt caching, headless Chromium for image rendering, a Google Drive service account, Frame.io webhooks, and Cloudflare R2. Runs in Docker on Railway with a health check and a mounted volume.

Status In daily production for a client. I built it and maintained it; the tool is theirs, and so is everything it writes.

If your content is the bottleneck, that's a system problem.

Tell me how your content gets made right now, start to finish. I'll tell you which part of it should stop being done by a person, and what I'd build first.

Book a call See the other systems