Promotional video is the only marketing asset most developers outsource by default, and I think that is a habit, not a necessity. Here is my claim after building promo videos for my own AI School in code: if your videos are motion graphics — text, product UI, data, transitions — then video is a rendering problem, and rendering problems belong in a build pipeline, not a timeline editor. Remotion turns video into React components; Claude Code writes React fluently; together they turn "make a promo" from an editing session into a compile step.
The reason this workflow clicked for me is structural, and it is worth understanding before you copy it.

Why timelines fail developers specifically
A timeline editor stores your design decisions as mouse positions. Nothing is named, nothing is diffable, nothing is reusable. Change the brand color and you are reopening every project file and clicking through every layer. As a developer you have spent years accumulating exactly the skills that fix this — components, props, version control — and a timeline lets you use none of them.
My breaking point was mundane: I run an AI School with 31 courses, each needing promotional assets that share one visual identity but differ in title, topic, and details. In an editor, that is dozens of near-identical projects drifting apart with every edit. In code, it is one component and a props file. That asymmetry only grows with volume, which is why this workflow suits anyone with a catalog — courses, products, features, episodes — rather than someone cutting one wedding video.
Remotion in one honest paragraph
Remotion is a framework that lets you define video as React components: a composition has a duration, dimensions, and a frame rate, and your components render each frame as a function of the current frame number. You preview in a browser studio with hot reload, and render to MP4 from the terminal. Everything you know about React — props, state, mapping over data, styling — applies directly. Licensing is worth knowing up front: Remotion is free for individuals and companies of up to three people, including commercial use; larger teams need a paid company license. For a solo founder or small studio, that means the entire pipeline costs nothing but render time.
The mental shift that takes a day or two: you stop thinking "at 3.2 seconds the title fades in" and start thinking "the title's opacity is an interpolation over frames 60–90." Once animation is math over frame numbers, an AI that writes code can write your animation — which is where Claude Code enters.
Where Claude Code actually earns its place
I want to be precise here, because "AI makes videos" oversells the wrong part. Claude Code does not design the video. What it does superbly is everything between design intent and working code:
- Scaffolding compositions. "A 15-second, 1080×1920 composition: dark background in my brand color #38D39F accents, headline slides up with a spring, three bullet points stagger in, end card with logo" produces a working first draft in one pass, because this is ordinary React with a well-documented API.
- The iteration loop. The studio preview gives you instant visual feedback, so the workflow becomes: look, describe the correction in plain language ("the spring overshoots too much, settle it faster; stagger the bullets 10 frames apart"), let the agent adjust the interpolations, look again. That loop is faster than my hands ever were in an editor, and I say that having spent real hours in one.
- Data plumbing. Turning "generate a promo per course from this JSON" into a parameterized render setup is exactly the glue-code work agents excel at.
The insight only hands-on use surfaces: agents are mediocre at inventing motion design taste but excellent at executing taste you can articulate. I keep a small set of animation conventions — durations, easing choices, type scale — written down, the same way my repository keeps coding conventions in a CLAUDE.md file. Feed those to the agent and its output stops looking like generic template motion and starts looking like your brand.
Parameterization: the actual superpower
The compounding value is not the first video — it is every video after it. My promo setup is one composition tree that takes props: title, subtitle, topic bullets, accent color, CTA text. Rendering a new course promo means writing a props object, not opening a project file. Updating the design means one component edit that propagates to every future render.
This is also where video-as-code connects to the rest of a content pipeline. Video stops being a special artifact produced by a special tool and becomes another build output triggered by the same data that powers your pages. I run several flavors of automated content production on this site — the same philosophy at a different scale is documented in my automated SEO and social content workflow — and Remotion simply extends that assembly line one format further.
What code video is bad at — draw the line honestly
Remotion renders what a browser can draw. That makes it the wrong tool for:
- Talking heads and filmed footage. Editing camera footage is genuinely a timeline job. For presenter-style content I use AI avatar generation instead — my HeyGen and ElevenLabs production pipeline covers that lane — and for generative b-roll and cinematic shots, my Higgsfield YouTube video workflow is the current setup.
- One-off narrative edits. If you will never render a second variant, the setup cost of componentizing does not pay back.
- Taste-free automation. Rendering 31 identical-feeling videos is easy; making them feel designed still requires you to make design decisions once, deliberately, at the component level.
The mature setup, in my experience, is a portfolio: Remotion for motion-graphic promos and product visuals, avatar tools for presenter content, generative tools for footage — with an agent gluing all three to your data.
The property nobody advertises: deterministic renders
One more advantage that only shows up after you have run this for a while: renders are deterministic. The same composition at the same props produces the same video, every time. That sounds trivial until you compare it to editor workflows, where "regenerate last month's video with one word changed" means hoping you still have the project file, the fonts, and the plugin versions that produced it. In my setup, every video is reproducible from the repository state that made it — the composition is versioned, the props are versioned, and a rerender after a copy fix is a command, not an archaeology project. It also means video changes are reviewable the way code is: a diff on the props file tells you exactly what changed between two renders, which is something no timeline format has ever given anyone.
A starting path that works
npx create-videoto scaffold a Remotion project, and spend thirty minutes in the studio understanding frames and interpolation before involving any AI.- Build one real promo for something you actually ship — with Claude Code scaffolding, you reviewing in the preview, and plain-language iteration.
- Only then parameterize it. Extract props, point it at your real catalog data, and render two variants. The moment the second variant costs you one JSON object, you will understand why I have not opened a timeline editor for promotional work since.
The video attached to this post is this workflow, visible: written as components, rendered from the terminal, iterated with an agent.
The promos this pipeline produces are for my AI School — the courses there cover the broader agentic workflows this post is one slice of, and the video on each course page is, fittingly, part of the evidence.