I build the system first and the output second. The product UI in these spots is a build, not a screen recording, so the copy, timing, cursor path, captions and slides all live in config. The first one cost most of the time in the table below. The hundredth is a diff.
Tools, and what each one was for
| Claude Code (Opus 5) | The build environment. Research, asset acquisition, writing the animation engine, driving every render. |
|---|
| Gamma’s own product footage | Reference. Their CDN serves first-party 1200×950 captures of the real Generate flow, frame-sampled for exact colours, radii and spacing. |
|---|
| Figma | Design layouts and pacing. Boards for the three ratios and a beat strip for the 20 seconds, so timing was settled before anything rendered. |
|---|
| Gamma brand book + kit | Canonical palette, the −2% headline tracking rule, wordmark files. |
|---|
| ES Build + PP Mori | Gamma’s actual typefaces inside the work itself. Not lookalikes. |
|---|
| Custom HTML/CSS/JS engine | The UI is rebuilt as vector, not filmed. One seek(t) function describes any frame of any variant in any ratio. |
|---|
| Puppeteer + ffmpeg | Frame-exact capture and encode. H.264 for delivery; ProRes 4444 and VP9 with alpha for the layered files. |
|---|
Build the pieces first
The first pass built the system, not the spot. Copy, timing, camera, captions and the slides live in one config, and the UI is built rather than filmed, so a variant is a config change and not a new edit.
That got tested mid-build. The concept changed completely: new scene, new hooks, new line, new spine. The rebuild took about 50 minutes, and the previous concept still renders untouched from its archived config. The config is the asset.
Time per piece
| Research, brand and asset acquisition | 30 min |
|---|
| Animation engine: chat, title card, spine | 50 min |
|---|
| Three hook variants, 9:16 | 10 to 15 min each |
|---|
| Layered alpha exports (ProRes 4444 + VP9) | 15 to 20 min |
|---|
| Statics, three ratios, layered | 30 min |
|---|
| Process note and this page | 30 min |
|---|
| Further iterations and concepts | 30 to 45 min |
|---|
| Total | ~3.5 hours |
|---|
These three took about three and a half hours. The next thirty take one to two, because most of that time went into things that outlive the asset: the layer template, the prompt set, and the render config. A new variant changes contents, not structure. Past that point the constraint is review, not production.
Nothing ships until the benefit reads with sound off and the caption hidden, the text clears the safe area in every ratio, and the product UI matches the current build. A failed check goes back rather than shipping as a lower tier variant.
One thing the brief doesn’t account for
The brief says hold is the weak spot and hook rate is fine. If that is right, three hooks against one spine tests the part that already works. I would swap it for a 20 second and a 5 second cut of the same concept. Canva is running 5 second spots well right now. A cut that short does not need hold, it needs the idea to land immediately, and it tells you fast whether the concept survives compression before you spend on the long version.
What I’d test next
- How fast this story can be told. The 5 second cut of this exact concept, down to the paste and the result, against the 20. If the short one holds CPA, the long one is overhead.
- A 5-second cut. The mechanism resolves fast enough that 20 seconds may be longer than it needs to be. Worth finding the floor.
- The humor axis. This concept works on recognition, the viewer seeing their own situation. A character-led comedic version could pull much higher attention, with the risk being the CTR-without-signup pattern the brief flags as a non-performer. Worth one variant to find out.
- Channels past Meta. These are built for Meta feed and Reels because the brief asks for that. Discord and adjacent communities reach the same people at a fraction of the CPM, and the format here travels: the spine is a screen and a line, which is native there in a way a polished feed ad is not. I have specific placements in mind and would want to talk through them.
- “Just a sec” as a series. The framing extends past a single spot into episodic content about workplace time pressure, closer to brand than DR. Wrong tool for CPA, right tool for the brand layer that makes performance ads cheaper over time. I’d want to know whether that budget exists before recommending it.