← All work

Video automation · Marketing for NextUp

Automated Ad Pipeline

Instead of editing every ad by hand, I wrote a pipeline that builds them. You describe an ad in a JSON spec, and it produces a finished video in each aspect ratio, using the app's real theme renderer for the product shots.

Role
Solo
Output
9:16, 1:1 and 4:5 video
Stack
Node · ffmpeg · sharp
Used for
NextUp ad campaigns

Why build it

Testing ads means making many variations: different hooks, themes, and formats. Editing each one by hand is slow, and it drifts from what the app actually looks like. The pipeline makes a new variant a config change.

Two generators

  • Hybrid ads: AI-generated lifestyle footage (Kling, through Replicate, cached by prompt so re-runs are free), then a theme reveal rendered with the backend's own theme code, then hook text, an end card, and music, composited with ffmpeg.
  • Carousel ads: a scripted 10-second sequence. A stock home screen transforms into a theme, then theme cards sweep across a curved "coverflow" arc to an end card. It's composited frame by frame with sharp.

Supporting tools

  • Renders the Google Play feature graphic from the same source art.
  • Cleans up raw screen recordings.
  • A dry-run mode builds everything except the paid generation step, so specs can be checked for free.
The people in the hybrid ads are AI-generated footage. Every phone screen is rendered from the app's real themes.

Output

Ads it generated

Sound on for the hybrid ads
Carousel ad: theme cards on a curved arc
Hybrid ad: "gamer neon" variant
Hybrid ad: "aesthetic glass" variant
JSON spechook, theme, formatLifestyle footageKling via Replicatecached by promptTheme revealapp's real rendererCompositeffmpeg + sharptext, end card, musicExport9:16 · 1:1 · 4:5

Let's build something.

I'm open to full-time and contract roles in AI/agent engineering, mobile, and full-stack TypeScript, remote or hybrid around NYC and Philadelphia.