Creative Production Systems

I don't just direct the work. I build the systems that make it: pipelines, trained models and agents that carry a team's taste across a hundred thousand images, so the craft survives the volume.

Available now · Portland, OR

Ship

Singles Inferno, Netflix · backgroundVirtual Recce · relit location plateThe Ultimatum, Netflix · backgroundFaceMesh checkpoint · placement lockedSingles Inferno, Netflix · backgroundThe Ultimatum, Netflix · background

Singles Inferno, Netflix · background

100,000+ assets shipped · 180x

A simplified version of the pipeline I built at Series, running live in your browser. Hover a node.

Volume, held on-model

100,000+ assets. One system.

A sample of the real output from the pipelines I built at Series for Netflix's Singles Inferno and The Ultimatum. Same characters, same look, image after image, at 180x the speed.

The systems

Things I built, and what they made possible.

Flagship system

Reelly

A video editor that edits itself. Hand it raw footage, a few images or just an idea, and it hands back finished long and short videos, ready to publish.

  • Creative tech
  • AI production

It watches the material, directs the cut, and delivers the finished files plus a DaVinci Resolve project with music, sound, captions and titles on their own tracks, so a human editor can always step in. It checks its own work before anything leaves, cuts platform-ready shorts alongside the long edit, and learns from how each video performs to make the next one better. Built in Python as an agentic pipeline orchestrating Gemini, fal, ElevenLabs and Whisper. One rule never bends: a person always presses publish.

Watch for Both shorts were cut, captioned and titled by Reelly from raw footage. A person only pressed publish.

Source on GitHub →

Custom node pack · ComfyUI

Virtual Recce

Scout any place on Earth before anyone books a flight.

  • Creative tech
  • AI production

Drop a pin on a 3D globe or type an address. Virtual Recce pulls the real Street View plate, works out where the sun will sit on your shoot date and what the weather will do, then dresses the scene with your set and cast. Every render comes with a card that shows exactly how it was made, and satellite and terrain fallbacks cover even remote or open-ocean pins. Built in Python for ComfyUI on Google Maps, astral, Open-Meteo and Nano Banana Pro, and released open source for anyone to use.

Watch for The light. Sun angle and weather come from the real place, date and time, not from the prompt.

Source on GitHub →
A real Google Street View location dressed as a period film set and relit for its real sun and weather
The full Virtual Recce node graph in ComfyUI
ComfyUI node-graph production pipeline at Series Entertainment

ComfyUI Production Pipeline: Series → Netflix

  • Creative tech
  • AI production
  • Direction

The trouble. Series was growing fast with Netflix titles on the slate, and trial-and-error prompting couldn't keep characters consistent or keep up with the schedule.

What I built. Modular ComfyUI pipelines with four production paths from first exploration to final, an avatar system that held six emotions on every character, and bot-assisted batch video. The consistency rules live inside the workflows, so the whole team could run them, not just whoever wrote the prompt.

What happened. 100,000+ assets shipped at 180x speed across Netflix titles and Lorespark, and ComfyUI made it their first official customer case study.

Read the ComfyUI case study →

patolli.io: my studio's front door

  • Creative tech
  • Direction

Scroll the Curses Cleared page and you walk into the cabin: the same camera move as pressing Start, rendered from the game itself.

Watch for The last seconds: the walk into the cabin is the game's own camera move, rendered from Unity.

Art directed by me, built by directing an AI coding agent through automated quality gates.

Go play with it →
LoRA-trained character consistency across branching narratives

LoRA Training for Style Consistency

  • AI production

The test. Is this still the same character three story branches later, made by someone else a month on?

What I did. Trained custom LoRAs per model and put every one through an evaluation pass before it reached production.

The answer. Yes, across thousands of images and every branch of the story.

Cinematic portrait with a FaceMesh facial-landmark grid overlay

FaceMesh Placement Checkpoint

  • AI production
  • Tech art

The bug. In an avatar system making thousands of images, heads slowly drifted. Position and rotation just wouldn't hold.

The fix. A checkpoint that uses FaceMesh to lock a point between the eyes and track rotation and placement on every image.

The bonus. The measurements I took to fix it became a consistency check for the whole system.

Toxtli and the Moon Jar vertical key art

Patolli: Building Where No Tool Exists

  • Creative tech
  • Tech art

Why. Making Toxtli & The Moon Jar for Steam at my own small studio meant needing production tools nobody sells.

What I built. In Unity and C#: procedural levels, reinforcement-learning agents that play the game to find what breaks, automated test runners, and editor automation driven through MCP.

When the tool I need doesn't exist, I build it.

The tools I reach for

Generative AI
ComfyUI, Adobe Firefly, Runway, Luma, Midjourney, Gemini, Nano Banana Pro, fal, ElevenLabs, agentic node-graph workflows, LoRA training for the latest models, model fine-tuning, image and video generation models (open and API), prompt engineering, model evaluation, LLM and MCP integration, custom node and tool development
Engines and realtime
Unity with C#, Unreal and UE5, shaders and HLSL, ML-Agents, procedural generation
Code
Python, JavaScript and TypeScript, WebGL and three.js, Git
Craft
Art direction, creative direction, Figma, UI and UX, design systems, motion design, 3D in Blender and Maya, compositing in Nuke, DaVinci Resolve

How I Work

AI makes it easy to make more. My job is making it hold up. Here is how I work, including the step most people skip.

  1. Stage 01

    Learn first

    Before I make anything, I get to know the project deeply, so my choices come from what's true about it and not from taste alone.

  2. Stage 02

    Let the models carry the volume

    Pipelines and trained models handle the quantity and the consistency. Everyone has this part now; it is where the work starts, not where it ends.

  3. Stage 03

    Review adversarially and laterally

    Laterally, to find the read I didn't intend. Adversarially, by asking the model to attack the work instead of approving it. Approval tells me nothing; the unintended read is the finding.

    In practice: Reelly scores its own cuts and holds back anything that fails before a person ever sees it. I wrote the criteria it judges by.

  4. Stage 04

    Iterate on what shipped

    Change the work against what actually happened, not against opinion.

    In practice: every Reelly run logs its cost and each video's performance shapes the next. At Series, every trained model passed an evaluation before production, which kept characters consistent across tens of thousands of images.

A model that agrees with you has told you nothing.

Making things is the easy part now. Judgement is the hard part. At scale, the costly failure is never making too little; it is making ten thousand things nobody checked. So I build the critique into the system, where it runs on every piece, every time, cheaply enough that nobody skips it.

Let's make something that holds up.

If this sounds like what your team needs, write to me. I read every email, and I'll write back.