Brands worked with20+ brand portfolio · 30+ campaigns a year
Selected work
Dog Food LaunchHartfelt · Kevin HartCreative Development Specialist · 1st AD
Morning RestoreTerra Mare · Marisa TomeiCreative Development Specialist · 1st AD
Rescue StoryBadlands Ranch · Katherine HeiglCreative Development Specialist
Rodeo CoupleDebtClear USA · Robert HerjavecCreative Development Specialist · producer
Grandpa's Day OutAMC × Coca‑ColaProducer · story & concept development
Valet StandDebtClear USA · Robert HerjavecCreative Development Specialist · 1st AD
Decks
Concept and visual research, designed start to finish
Private · available on request
Numbskull™
Co-founder & creative directorCover only
AI integration
I build custom AI agents to out-engineer operational friction.
In daily usePre-production agentAI systems trained directly on data from real, complex shoots
produced from the ground up.15 min totalPre-production agentone shoot, start to packetYouFor the Kevin Hart shoot next week, can you build a shoot packet for me?AgentThat is the Hartfelt spot, Thursday the 18th. Checking readiness.Talent confirmedScripts lockedLocation setAgentReading six sources.AgentBuilding the packet.Call sheetShooting scheduleCrew and cast emailsAccounting updatedAgentSet up post-wrap billing?From 4 hours to just 15 min
Other agents I have built
About
Some brands disappear when you cross a border; a few do not. Moving from Ethiopia to the Dominican Republic and then to Laos taught me that the brands able to travel with you are the ones that feel like home.
That global perspective anchors my production approach. After earning my BFA in Producing from the University of North Carolina School of the Arts (UNCSA), I cut my teeth on indie features ($0 to $10M), but today I produce high-velocity DTC commercials at Golden Hippo with A-list talent. Here, the slate moves fast, and spots must prove their value against live data within a week.
I love the strategy behind that speed. The real thrill is tracking performance metrics from a live campaign, deconstructing why they worked, and immediately pivoting the operational and creative strategy to optimize the very next shoot.
Credits
Feature and short film work alongside the commercial slate
Features
Haunted Hookers — Unit Production Manager
Local Haunts — Line Producer
Earth, Wind & Fire — Production Assistant
Shorts
Everythingeater — Producer
Bigger/Better/Harder — Producer
Box — Producer
The Final Cut — 2nd AD
Summer's End — 2nd 2nd AD
Good Boy — 2nd 2nd AD
Building a shoot used to mean assembling the same five documents by hand from six different places. It now runs from one command, and the time it takes went from about four hours to about fifteen minutes.
The approach
Context-Aware Decision Making: Agents don't just follow static scripts, they understand the underlying intent behind creative and logistical choices.
Specialized Orchestration: A hierarchical network of main agents and task-isolated sub-agents designed to scale complex production workflows.
Dynamic Adaptation: Built to analyze new project constraints, predict bottlenecks, and adapt fluidly based on real-world historical success.
Trigger
/build-call-sheet [Shoot Name] on [Date] once talent is confirmed, scripts are locked, and the location is set. The agent checks that readiness before it starts rather than producing a half-built sheet.
The pipeline
Gather from chat, the production schedule, issue tracking, mail, calendar, and the prep and script docs
Confirm the shooting address against the source of record
Ask clarifying questions only where something is genuinely missing, front-loaded in one message
Calculate cast call times backward from the schedule
Apply smart defaults for the fields that are the same every time
Build the call sheet, including weather, nearest hospital, and the ticket link
Build the schedule tab with the correct colour coding
Export the sheet as a PDF
Draft the crew email and every talent email individually
Write talent and hair-and-makeup rows into the freelancer payment record
Source priority
Six systems disagree constantly. The workflow declares an explicit priority order, so when two of them contradict each other the agent resolves it the same way every time instead of guessing.
Delegation
A casting-researcher subagent reads Gmail casting threads end to end and returns a clean table of confirmed talent with roles, scenes, and reps. It never passes raw email bodies back. That keeps the main context small enough to finish the build, and it means far less personal data moves around than if the whole thread were pulled in.
Integrations
Google SheetsGoogle DocsDriveGmailCalendarIssue trackingSlackWeb searchPDF export
Templates
Crew and talent emails render from HTML templates with named variables. The template headers carry the formatting rules, so the tone stays consistent whoever runs it.
Most ad scripts get written from taste. This one is only allowed to build from creatives with real evidence behind them, and it is explicitly forbidden from treating a subjective rating as proof that an ad worked.
The pipeline
Pick the production path, polished spokesperson or clean user-generated
Pick the target offer
Harvest internal winners from the reporting available to me
Harvest external winners from competitors
Name the mechanism, the actual reason the winning ads persuade
Add a recency layer so the script is anchored to now
Write the script as a two-column script and visual table
Secure a production slot and log the outcome
Research subagent
An ad-performance-researcher subagent reads the internal reporting end to end and returns a compact brief instead of a raw dump: which creatives are worth learning from, the angle each one uses, and what is queued for testing.
Finding competitor winners without a paid tool
A written playbook using the public ad library and a longevity heuristic. An ad still running after months is being paid for because it works, and that is a signal available to anyone willing to look properly.
The guardrail I am proudest of
Every source gets audited before the agent is allowed to lean on it. Where a signal cannot actually support the conclusion someone wants to draw from it, the agent is instructed to say so rather than imply otherwise. A tool that quietly launders a weak signal into a confident claim is worse than no tool.
Post-wrap paperwork arrives in the inbox in no particular order, from people who invoice differently every time. This closes the loop without ever being the thing that sends money.
How it runs
/billing [talent] handles one person
/invoice-sweep scans the last three weeks of inbox against every outstanding row and surfaces matches for confirmation before ingesting anything
/invoice-status is read-only, just a list of what is still outstanding
The sequence
Layered mail search, a pre-flight check for which documents are actually missing, download into the forms folder, then update only the document-tracking columns.
Where it stops
The agent gathers and files documents. It never drafts the email that forwards them to accounts payable, and it never touches the release, status, or approval columns. I write that email and mark those columns myself. Anything that moves money keeps a person in it.
I wanted to know whether I could take a product idea the whole distance on my own, so I built it. Point a phone camera at a barcode and it returns a score, the reasoning behind it, and something better to buy instead.
The idea
Scan, score, swap. Dr. Gundry's audience already reads labels and mostly cannot tell which products actually fit the philosophy they follow. The app rates any scanned product from 0 to 100 with a plain red, yellow, or green verdict, explains which ingredients were flagged and why, and recommends an alternative. Every poor score is a place a customer can be helped and a product can be sold, which is the same moment.
Built, not mocked up
React and TypeScript on Vite, styled with Tailwind, routed across five screens: onboarding, scanner, result, food guide, and history. Barcode decoding runs in the browser through the ZXing library, so it works from a phone browser with no app store in the way. The dev server runs over HTTPS because camera access requires a secure context, which is the sort of thing you only learn by actually shipping it.
ReactTypeScriptViteTailwindReact RouterZXing
The scoring rubric is a document, not buried in the code
I wrote the rubric as a separate reviewable spec so someone qualified on the nutrition side can check the logic without reading a codebase. I am confident about the build. I am not the right person to be the final word on what counts as a good ingredient, and the architecture says so.
Educational, not alarmist
The tone rule is written into the product spec: explain why something is flagged in Dr. Gundry's voice, and never manufacture a concern to land a sale. A scanner that scares people into buying works once. One that teaches them something is the one they keep on their phone.
Why it is on this page
Not because a producer needs to write React. Because taking something from an idea to a spec, a rubric, a working build, and a pitch is the same job as taking a brief to a finished spot, and the second one is easier to believe once you have seen the first.