- Problem
- Customer updates
- Industry
- Jeweler
- Year
- 2026
- Project type
- Own project
An explainer video rendered from code for a jeweler offer
A 79.5-second explainer video in two formats, rendered entirely from code, without a single shoot day.
The number: 79.5 s
Length, two formats (16:9 and 9:16), zero shoot days
Starting point
For an offer aimed at jewelers I needed a short video that explains the process. It had to run no longer than 80 seconds and make sense without sound. A shoot with camera, presenter and editing did not fit, because the offer was still changing: every text change would have meant another shoot. I wanted a video I can change like text and export again, in landscape and in portrait, with identical content in both.
What was built
The video is not a file I edited. It is an HTML scene driven by JavaScript. A Node script sets the picture state for every point in time, headless Chrome takes a screenshot of it, and ffmpeg joins the 2,385 frames into H.264. It runs deterministically, with no real-time timers: same text, same video. The copy sits in its own file, fonts and illustrations are in the code, and the screens shown come from a test app with sample data. There are two outputs, 1920 by 1080 and 1080 by 1920.
Result
The finished video is 79.5 seconds long in both formats, with no audio track and the text burned into the picture. I shot nothing, so there were zero shoot days. Two independent reviews by a reviewer agent and three rounds of corrections came before sign-off: the first review failed the video with 11 findings, and the second passed it. I measured length and resolution with ffprobe.
Proof
The video exists in both formats, re-rendered with sample names, each with a still image as preview. It has no speech, so it needs no transcript, and all the text is in the picture. The scenes come from source code, not from an editing program, and can be re-exported whenever the text changes. The ffprobe readings for length, frames, resolution and file size sit in an evidence file. I can show it to you on request.
Limits
I never published the video, so I say nothing about its effect. It has no sound and no presenter. I did not time the render myself. The original carries a product name and a wordmark, so I do not show it here: I am re-rendering the video for this site with sample names and without any real jewelers. This case is anonymized, so no clients and no shops appear in it.