Creative Producer · Performance Video · AI Production
Remote · EU Work Authorization
Creative Producer and Performance Video Editor with 10+ years in video and visual storytelling, with recent experience leading performance-driven content and AI production systems.
I work at the intersection of storytelling, performance, and AI tooling. I design experiments, scale formats, and turn production bottlenecks into repeatable systems. My work connects audience insight, editorial decisions, and data to create content that performs consistently at volume.
I started in journalism, covering breaking news and directing documentaries in Brazil. That background gave me a strong instinct for narrative and emotional clarity, which I now apply to high-volume, performance-driven content.
Today I lead creative direction while also building and scaling internal AI tools (thumbnail automation, storyboard systems) that changed how teams produce and test content.
Five YouTube channels at Blue Foxes generated roughly 120 thumbnail requests a week, run through a fully manual, multi-tool pipeline: download the video, hunt for a usable frame, enhance it in a third-party tool, hand-apply the channel's branding, produce six variants per request.
The engineering team was booked on other launches, so rather than write a spec and wait, I built the tool myself — directing Claude Code as the sole implementer while owning every requirement, every review against real footage, and every call on what to keep, revert, or rebuild.
I wrote none of the code. I defined the acceptance bar, evaluated every model and architecture trade-off against real output, and decided when a feature (like automatic white balance) had to be cut rather than debugged further.
Build log — decisions I made, verified against real output
A meeting with the design lead surfaced the actual failure mode, not the assumed one: visible face, readable expression, negative space for text, correct channel font. I pressure-tested the initial stack (general-purpose frame model + third-party enhancer + Canva) against one question — what breaks if a step depends on an unofficial API or leaves a manual task inside an automated pipeline — and dropped both third-party tools before building anything.
GAN-based face restoration deformed eyes, worse with glasses; rather than turn restoration down everywhere, I specified a local blend back toward the source in the eye region only. Color grading was rebuilt to read each frame's own histogram instead of applying fixed offsets, after the fixed version blew out bright frames while barely moving dark ones — the largest architectural reset of the project. I also shipped an automatic white-balance feature, then removed it two days later after two fix attempts failed, accepting inconsistent color temperature over ever making a frame look worse.
Rejected cropping deeper to fix cut-off logos, since the crop is the reference every downstream framing calculation depends on — specified inpainting instead, gated to only run when a logo is actually present. Added generative canvas expansion after noticing the design team already used an AI expand tool for extra text space. Moved titles from one global entry to one per generated frame once the design lead's actual batch-download workflow became clear.
Requested a complete codebase review with nothing executed before approval, then accepted the proposed refactor in full — consolidating nine scattered pieces of state into one session object. Priced cloud hosting per video and per user, ruled it out, and confirmed with a direct test that a packaged local install was the practical path — accepting a ~5GB footprint and installer work in exchange for zero per-video running cost.
Presented the single-channel MVP to leadership in person and received a mandate to expand to channels sharing a similar visual language. I specified that every channel's fonts, colors, and framing rules live as a data pack rather than application code — costing more up front, but turning every new channel into a folder drop instead of an engineering task. Ten channel packs across four channel groups shipped this way by early September.
A request for a new capture format and speech-driven, third-person captioning came in. I specified both as additions to the existing extraction, restoration, editing and export pipeline rather than a second application — after four rounds of measured caption failures, each was fixed with a mechanical rule so a bad rewrite could read worse but could never attach to the wrong moment of the video.
A single-channel MVP, built and validated against real production footage, was approved by leadership and scaled post-approval into 10 channel packs across 4 channel groups — replacing a fully manual, multi-tool workflow and running in production on non-technical users' machines. The product-ownership work here was translating a design lead's implicit sense of "looks natural" into a testable bar, and making every infrastructure and model decision by pricing and testing it rather than guessing — while directing an AI coding agent as the sole implementer and owning every specification, review, and revert decision myself.
Directing an AI coding agent to build and ship a production tool, as the sole product owner.
1. Context
Blue Foxes is a digital media and creative agency built for scaled content production and distribution across social platforms — a 2025 spin-off consolidating a channel ecosystem developed since 2016 under Jellysmack Originals. The company runs on a data-driven creativity model: hundreds of proprietary and partner channels, produced daily, optimized continuously against view and retention performance.
In July 2025, the AI Content Lab working group was formed. Within it, a lean Product Team (four people: a product manager, a full-stack developer, a generalist builder, and myself as product owner) was tasked with building internal automation. I was assigned to lead the thumbnail automation project.
2. The Problem
Five YouTube channels — collectively producing roughly 120 thumbnail requests a week — ran on a fully manual pipeline: a social media manager filed a request with a video link and target titles; a designer downloaded the video, hunted for a usable frame, uploaded it to a third-party tool for quality enhancement, hand-applied the channel's visual identity, and produced six variants per request. The volume was high and the creative judgment required per thumbnail was low — the actual bottleneck was mechanical, repetitive work absorbing a design team's time.
3. My Role and Working Method
The engineering team was occupied with other launches already in production, so rather than write a specification and wait for allocation, I built the tool directly. Every line of code in this project was generated by Claude Code, from my prompts.
My contribution was the judgment layer that a coding agent cannot supply on its own: defining requirements precisely enough to be testable, reviewing every output against real footage and against the design team's actual output, deciding which trade-off to accept and which to reject, and knowing when to stop iterating and ship. Every decision documented below is mine; every implementation is Claude Code's, directed and reviewed turn by turn. Where a technical judgment call is described — a model choice, a pipeline architecture, a fix — it reflects a specification and an acceptance bar I set, verified against output I inspected myself, not code I personally authored.
Build log — decisions I made, verified against real output
A meeting with the design lead surfaced the actual failure mode, not the assumed one — the workflow, the volume, and each channel's distinct branding, plus a first concrete acceptance bar: a visible face, a readable expression, enough negative space to place text without covering the subject, and text rendered in the channel's correct font.
Stack pressure-tested before committing: the initial hypothesis — a general-purpose model for frame reading, a third-party enhancement tool, and Canva for composition — was checked against one risk question, what happens if a step depends on an unofficial API or leaves a manual task inside an automated pipeline. Both the enhancement tool and Canva were dropped for exactly that reason before any of the pipeline was built.
Text rendering was made deterministic, not generative: composition rules (canvas size, safe margins, color values) were hard-coded rather than left to a model, trading generative flexibility for guaranteed brand compliance.
Face restoration corrected locally, not globally: GAN-based restoration produced good results overall but visibly deformed eyes, worse with glasses. Rather than turn restoration strength down everywhere — sacrificing sharpness across the whole image to fix one region — I specified a local correction, blending the restored output back toward the source only in the eye region. That parameter still governs eye and drastic-change correction today; it never touches the restoration model itself.
Color grading was rebuilt as proportional, not absolute: the first version applied fixed offsets to every frame, which blew out already-bright frames while barely moving dark ones, since the footage comes from wildly different lighting and post-production setups. I specified a rewrite where every adjustment reads the incoming frame's own histogram and scales from there — the largest architectural reset of the project, and the pattern every effect added afterward had to follow.
Automatic white balance shipped, then was fully removed: two days after shipping it was producing color casts a designer would never approve — pink frames turning green, whole batches skewing blue — and two attempted corrections didn't fix it. I chose to remove it entirely rather than keep debugging a feature whose failure mode was invisible until it appeared in output, accepting inconsistent color temperature between videos in exchange for never making a frame look worse than it arrived.
Logos were handled by inpainting, not deeper cropping: some channel logos survive the top crop and appear cut off. I rejected cropping deeper, because the crop is the reference every downstream face-size and framing calculation is measured against — deepening it would have distorted every framing decision, not just fixed the logo. I chose instead to detect the surviving strip and paint it out, gated so the pass only runs when a logo is actually inside the reframed area, since most videos don't have one and the pass is expensive.
Canvas expansion was added with generative fill, after I noticed the design team's own output sometimes used an AI expand tool to buy extra negative space for text — I specified the same capability, dragging past the original frame edge and generating the missing band from the nearest real pixels.
Titles moved from global to per-frame: originally one title applied to every generated thumbnail. Once the design lead's actual usage pattern became clear — batch-download several thumbnails, each needing its own headline — I changed the model so each frame owns its own text, edited individually, then selected and exported in batch.
A design-lead review on July 28–30 drove the next round of changes directly from real usage rather than a spec: mirrored image and text support, batch download, manual control over line breaks instead of automatic wrapping, and a corrected assumption.
A full technical debt pass was approved as a block: I requested a complete review of the codebase with nothing executed before approval, then accepted the proposed refactor in full — consolidating nine scattered pieces of state into a single session object, closing off a whole class of bug where a new feature forgets to reset one of them.
Local install was chosen on arithmetic: I priced cloud hosting per video and per user and ruled it out; a direct test of handing the raw project folder to someone without the right libraries confirmed a packaged local install was the practical path. Accepted a roughly 5GB footprint and the need to build a proper installer, in exchange for zero per-video running cost.
I presented the single-channel MVP to leadership in-person in Paris. It was approved, with a mandate to expand to additional channels sharing a similar visual language.
Channels were defined as data, not code: I specified that a channel's identity — fonts, colors, highlight behavior, face position — should live as a data pack, not be written into the application. It costs more up front, since every visual rule a channel can state has to exist as a parameter with a default, but it means adding a channel is a folder drop, not an engineering task. Ten channel packs across four channel groups were shipped this way by early September.
The update model was built around full, disposable replacement: for an unattended user base with no IT support, I specified that the installed application folder be treated as fully disposable, replaced whole by every patch, with anything a machine can't afford to lose kept outside it — simple, unable to half-apply, and predictable to reason about.
A new format was scoped as a channel pack, not a new product: a request for a numbered-grid still-capture format (no branding, no composition) came in. I specified it as another channel pack sharing the existing extraction, restoration, editing and export pipeline, rather than building a second application — keeping the whole system's surface area to one thing that does more, instead of two things to maintain.
Auto-captioning was added with a hard boundary on what the model is trusted to decide: I specified transcription and caption generation, including rewriting interview transcripts into third-person captions where a still, viewed alone, would otherwise misidentify who's speaking. After four rounds of measured failure — captions splitting oddly, repeating themselves, over-naming the same person, translating instead of preserving the source language — each was fixed with a mechanical rule rather than a longer prompt. Timing always comes from the transcript directly, so a bad rewrite can read worse, but it can never be attached to the wrong moment of the video.
A single-channel MVP built, validated against real production footage, and approved by leadership.
Scope expanded post-approval from one channel to ten channel packs across four channel groups, each addable as a data drop rather than a code change.
A previously fully manual, multi-tool workflow — download, frame-hunt, third-party enhancement, hand branding, six variants, per request — replaced by a single guided tool.
Installed and run in production on non-technical users' machines outside the internal engineering environment, including resolving real-world Windows installer and antivirus-interaction failures.
This project is, first, a product ownership case: translating a design lead's implicit sense of what "looks natural" into a testable acceptance bar, and making infrastructure and vendor decisions — hosting, model choice, update architecture — by pricing and testing them rather than guessing.
It's also a case for a specific way of building without a dedicated engineering allocation: directing an AI coding agent as the sole implementer, while owning every specification, every review against real output, and every decision to keep, revert, or rebuild. The technical depth in this document — restoration models, segmentation, installer engineering — is real, and it's mine in the sense that every one of those decisions was set, verified, and accepted by me.
FoxCut began as a co-worker's self-built storyboard generator, shared almost casually in a team Slack channel. Seven months later it was a governed, credit-metered tool used company-wide by video editors, social media managers, and content leads.
I was never the engineer on this project. My role was to supply the product discipline that turned a fragile personal build into something the company could safely depend on: evangelizing it to leadership, building the first cost and prioritization framework around it, and converting six months of real user feedback into a traceable, prioritized backlog.
Where I was wrong, the record shows it — including a root-cause hypothesis that turned out to be directionally right but not identical to the verified bug, and a flat pricing model I designed at launch and later replaced once adoption data exposed its flaw.
From evangelism to governed platform — decisions by phase
Asked for a demo video and cost estimate before there was any executive interest, so the pitch could answer "what does this cost" instead of reconstructing an answer under pressure. Pushed for the prototype to be tested against a long, complex real script before showing anyone with budget authority. Flagged that 94% of a storyboard's cost sat in image generation — the single number that shaped every later cost and model-selection decision.
Kept the original build as a protected "matrix" version and stood up a separate company-keyed instance, so one personal account couldn't become a single point of failure for a company tool. Coordinated the first pilot cohort of two additional editors, personally handled onboarding friction, and asked the builder to reconstruct a time log for retroactive recognition — pairing it with a rule that every new feature request needed an upfront time estimate.
Converted scattered Slack requests into the team's first backlog written as user stories with acceptance criteria, then migrated it to a Kanban board as volume grew. Proposed a specific mechanism for the tool's worst bug — degrading regenerations — and had the builder verify it against the actual code rather than treating my own theory as the fix; the confirmed cause (a self-reinforcing feedback loop, not a context-window issue) became five prioritized fixes. Set a standing rule: prioritize by how basic an expectation is to a user, not by how hard it is to build.
Launched with the access, credit, and cost-tracking model I'd been advocating for since Phase 1: a weekly credit allowance replacing unlimited, untracked usage, and per-team spend visibility built ahead of Finance asking for it. Framed the launch as an invitation to keep shaping the tool, not a finished handoff.
Re-prioritized project persistence above pending feature requests the same week a user lost paid work to a reload. Elevated a disturbing animal/human hybrid output to the highest-severity fix and traced it to a systemic contamination bug. Proactively closed a brand-safety gap around recognizable likenesses before any complaint arrived. Built the case for consolidating two parallel video-generation efforts into one codebase instead of building in parallel, and replaced the flat "1 credit = 1 generation" pricing model with a token-proportional formula once real usage data exposed the ~55–60% cost gap it was ignoring.
A personal side project scaled into a governed, company-wide tool with a Kanban backlog, structured user stories, per-team cost visibility, a weekly credit system, and a spend kill switch — all instituted ahead of leadership requiring them. The pattern that recurs across every phase: reasoning about probable root cause even without a technical background, then verifying the hypothesis against the code rather than treating it as the answer, and being willing to replace a process I designed myself (spreadsheet to Kanban, flat credits to proportional credits) once adoption data showed it had stopped scaling.
From Slack demo to company-wide tool: building and scaling FoxCut at Blue Foxes.
Executive Summary
Between January and July 2026, I moved from being an internal advocate for an AI tool I did not build, to the accountable Product Owner of a company-wide creative-production platform. What began as a single Slack message from a teammate showing off a self-built storyboard generator ended, roughly seven months later, as FoxCut: a governed, credit-metered, company-wide tool used by video editors, social media managers, and content leads across the organization.
This case study documents the decisions I made at each stage of that journey — how I evangelized a grassroots prototype into leadership visibility, how I built the first cost, process, and prioritization discipline around a tool with no formal engineering team behind it, and how I converted real, sometimes painful, user feedback from six months of adoption into a traceable, prioritized product backlog. It also documents where I was wrong, and where the evidence from users made me revise my own earlier decisions.
Why this matters: the tool was never built by a professional engineering team — it was vibe-coded by a video editor turned prototypist, using consumer AI tools. My role was to supply the product discipline that made a fragile personal project safe, fundable, and scalable enough for the whole company to depend on it.
Background & Context
Blue Foxes is a digital media and creative agency operating a data-driven content model across YouTube, Facebook, Snapchat, and TikTok, managing a large portfolio of proprietary and partner channels with a strong presence in the US and European markets.
In mid-2025, the company formed the AI Content Lab, a small working group tasked with producing content using AI tools exclusively. I joined as post-production manager alongside a Performance Manager, overseeing a team of specialist video editors. At the time, the workflow was entirely manual: editors generated storyboards frame-by-frame with image tools, animated them with separate AI video tools, and assembled everything by hand. Every request from other departments funneled through this small team, making it a structural bottleneck for the wider company.
It was against this backdrop — a real, felt operational bottleneck — that a teammate's personal side-project first appeared in our team Slack channel. What follows is the story of how that side-project became the company's answer to the bottleneck, and the role I played in getting it there.
Case study — decisions by phase
On January 7th, a teammate shared, almost casually, that he had built a personal tool to speed up storyboard generation, including a technique for packing multiple frames into a single generated image to cut cost. My first move was not to celebrate and move on — it was to immediately turn an informal share into a repeatable, presentable asset.
I requested a short demo video for internal circulation, but before broadcasting it, asked how leadership would prefer to be looped in — team channel first, or a smaller leadership-facing group first — recognizing that how a bottom-up tool is first surfaced shapes whether it is taken seriously. I asked the prototypist to instrument and share a cost estimate table before we had any executive interest at all, so that if leadership asked "what does this cost," we would already have an answer rather than reconstructing one under pressure. I pushed for the tool to be pressure-tested against a longer, more complex real script — not just the friendly first example — to see where it broke before showing anyone with budget authority. When the CEO reacted informally and positively to an early screenshot, I treated that as a signal, not a milestone, and flagged to the team that we should prepare properly for a follow-up conversation rather than assume goodwill would carry the initiative forward on its own.
The prototypist's first cost breakdown for a full ten-scene storyboard put script generation at roughly 2% of total cost, character casting at roughly 4%, and image generation at the remaining 94%. I flagged this ratio to the team as the single most important number in the whole pitch: almost all controllable cost — and therefore almost all opportunity to optimize — lived in image generation, not in text or logic. This became the lens through which every later cost and model-selection decision was made.
Decision rationale: I chose to lead with cost transparency before anyone asked for it. A grassroots AI tool with an unknown cost profile is an easy target for a "no" from leadership; a tool that arrives with its own spend data already visible is a much easier "yes."
Once leadership approved company API access, the tool crossed a threshold: it stopped being a personal experiment and became something the company depended on, which meant it needed guardrails. Rather than simply handing the company API key into the prototypist's personal project, I proposed keeping his original build as the protected "matrix" version and having a separate, company-keyed instance built for wider testing — reducing the risk of a single personal account becoming a single point of failure for a company tool, while still letting the original build stay the safe space for experimentation.
I coordinated hand-off of the tool to two additional video editors outside the immediate team, effectively creating the first pilot cohort beyond the original builder. I raised the platform question early — whether the two split tools (one dialogue-driven, one style-driven) should eventually merge into a single tool with a mode selector — well before it became an obvious necessity, planting the seed for the later single-tool architecture. I acted as first-line support during onboarding, personally troubleshooting account-access and authentication conflicts between the builder and new pilot users so friction never blocked adoption.
As the tool went from evenings-and-weekends tinkering to real, recurring work, I proactively asked the prototypist to reconstruct a time log for retroactive recognition of his engineering hours, rather than letting unpaid, informal effort become the norm. I paired this with a forward-looking process: from that point on, any new feature request required an upfront time estimate from the builder before I would commit him to it — protecting his bandwidth and preventing the team from silently overloading a single contributor with both video-editing duties and tool development.
When a cheaper image-generation tier became available, I explicitly asked the team to validate whether it held up for the tool's specific grid-based generation technique before switching, rather than defaulting to the lower price. Later reference pricing showed that moving from a standard generation to a higher-resolution or multi-pass generation carried roughly a 55–60% cost premium — a ratio I kept in mind months later when the flat credit system needed to be redesigned.
When a generation unexpectedly and inconsistently changed a character's race and grooming mid-story, I did not treat it as a random glitch. I proposed a specific mechanism — that the model's reference data biased its interpretation of a name, and that without an explicit "before/after" reference image for a character who changes appearance mid-story, the model was guessing — and suggested a concrete fix: letting users supply multiple reference states for one character, so the tool could choose the correct one per story beat. This is a pattern that recurs throughout the case study: functioning as a non-technical product owner who still reasons about probable root cause, not just symptoms.
By this phase, feedback was arriving faster than it could be tracked in conversation. I made the decision to formally professionalize how the team captured, prioritized, and executed work — the clearest marker of the shift from "evangelist" to "owner."
I converted a scattered list of feature requests from a leadership stakeholder into the team's first formal backlog artifact, written as structured user stories with acceptance criteria rather than freeform notes — for example, a request to preserve work when navigating backward became a user story with an explicit, testable acceptance criterion (progress must not be lost when switching tabs). I iterated the backlog's own structure over time as the team scaled: added a task-owner column so accountability was visible, a problem statement column so intent survived even if the original requester wasn't in the room, and a story-points column so I could see the team's real bandwidth at a glance. Once volume outgrew a spreadsheet, I migrated the backlog to a Kanban board (plane.so) for its native GitHub and Slack integration, generous free-tier option, and better fit for a two-to-three-person product team than an enterprise tool the budget didn't justify.
A pilot user reported that repeated regenerations of a single frame produced increasingly distorted, unusable results. My working theory was that the underlying model was accumulating too much conversational context across repeated requests in the same session, the way a long chat conversation degrades. I proposed a fix — force every regeneration into a stateless, fresh context — and asked the builder to validate it against the actual code. The validated root cause turned out to be adjacent to my hypothesis rather than identical to it: each generation call was already stateless, but the tool was silently feeding its own most recent, already-degraded output back in as the visual reference for the next attempt, creating a self-reinforcing contamination loop rather than a context-window problem. My hypothesis was directionally right and useful enough to trigger the right investigation, but I made a point of having it verified against the code rather than treating my own theory as the fix. The verified root cause was then translated into five explicitly prioritized engineering fixes.
Rather than ranking fixes purely by implementation difficulty, I established a simple, repeatable rule: prioritize by how basic or expected a capability is to a user, ahead of how advanced it is to build. The clearest example is a fix ensuring the tool never invents a human character in a story described as animals-only — ranked as the single highest priority of five open issues, above several fixes that were arguably harder to implement, because violating that expectation was judged more damaging to user trust than any single visual bug.
Decision rationale: a small team without dedicated QA cannot chase every bug with equal urgency. Anchoring priority to "how basic is this expectation" rather than "how hard is this to fix" gave the team a fast, defensible way to sequence work under constant incoming feedback.
The tool launched company-wide under its sanctioned name, FoxCut, with a formal access, credit, and cost-tracking model that I had been advocating for since Phase 1. Spend visibility per team had been logged as a high-priority requirement in the backlog well before launch, specifically so that Finance and leadership could see usage and cost by team without manual reconciliation.
A weekly credit allowance (with a defined path to request more) replaced unlimited, untracked usage, giving every team predictable, self-serve access without needing to come to the product team for every generation. Cost-per-credit was communicated transparently and in plain terms to non-technical stakeholders, continuing the cost-transparency approach established in Phase 1.
Launch communications were framed deliberately as an invitation to keep shaping the tool, not as a finished handoff — setting the expectation, from day one, that feedback would continue to drive the roadmap. That expectation is what makes Phase 5 possible.
This phase is the clearest evidence of a product owner operating in a feedback loop rather than executing a fixed roadmap. Below, each piece of adoption feedback is traced to the specific decision or backlog change it produced.
| User feedback (source) | What it revealed | Resulting product decision |
|---|---|---|
| Leadership pilot test with the marketing team (Jun 4) | Users wanted to revisit earlier steps and edit individual prompts without losing progress. | Written as the backlog's first two formal user stories; both shipped and marked done within days — fastest feedback loop of the whole project. |
| Pilot user's disturbing animal/human hybrid result (Jun 5–17) | Exposed a systemic contamination bug, not a one-off glitch — and a missing safety constraint for animal-only stories. | Elevated to the case study's highest-severity fix (P1: never generate humans in animal-only stories) and directly triggered the root-cause investigation from Phase 3. |
| My own hands-on testing scrolling a long storyboard (Jun 10) | Generate button scrolled out of view on long projects, costing users time. | Logged as a medium-priority UX fix — deliberately not over-prioritized, since it didn't block core output quality. |
| Power user's real production use across several episodes (Jun 17–29) | Duplicate/missing characters in casting; one edit unexpectedly changed unrelated characters. | Converted into a high-priority "review extracted characters before casting" approval screen, plus an urgent isolation bug fix — both later marked resolved. |
| User who lost in-progress work and spent credits on a page reload (Jun 22–25) | The tool's biggest trust risk wasn't a missing feature — it was silently destroying paid work. | Personally re-prioritized project persistence above several pending feature requests the same week, overriding the existing plan. |
| Multiple editors flagging recognizable celebrity likenesses in output (Jul 6) | Unfiltered generation created a brand-safety and IP-liability exposure, ahead of any complaint. | Proactively opened a fix to constrain the tool from generating known/public likenesses unless explicitly named in the script. |
| CEO mandate to build video-generation in two parallel tools (Jun 23) | Leadership intent risked duplicating engineering effort across two codebases. | Built the case for consolidating into the more mature, already-adopted tool instead of building in parallel, and secured buy-in — balancing executive intent against technical efficiency. |
| Usage data showing all generations cost the same flat credit regardless of size | The flat "1 credit = 1 generation" model was economically inconsistent with the ~55–60% cost gap between simple and complex generations. | Proposed replacing it with a token-proportional credit formula with defined rounding rules — revising my own earlier design once adoption data made its flaw visible. |
| Team request for surveillance-style footage (dashcam/CCTV) (Jul 24) | A new visual niche could easily have been built as a separate, forked project. | Insisted it be delivered as a camera-angle option inside the existing pipeline, preserving the single-tool architecture principle set in Phase 2. |
Scaled a single personal side-project into a governed, company-wide tool used by dozens of named team leads, removing the AI editing team as the sole bottleneck for AI storyboard production.
Introduced durable process infrastructure the team still uses: a Kanban-based backlog with GitHub/Slack integration, structured user stories with acceptance criteria, and an evidence-based prioritization framework.
Instituted proactive financial governance — per-team cost visibility, a weekly credit system, and a spend kill switch — ahead of leadership requiring it.
Established a two-way trust relationship between the product team and end users: every major piece of adoption feedback in Phase 5 was traceable to a shipped or scheduled fix, reinforced by a visible "bug fixed" resolution log used to report status to leadership.
Balanced executive mandates against technical efficiency at least twice — consolidating parallel video-generation efforts and integrating a new visual use case into the existing pipeline rather than forking it.
Translating grassroots engineering enthusiasm into an executive-ready narrative, without waiting for someone else to do it.
Instrumenting cost and usage data before being asked, so financial questions never stall a good idea.
Converting reactive support conversations into proactive root-cause hypotheses, even without a technical background — and verifying those hypotheses rather than treating them as final.
Building the lightest process that works at each stage, and being willing to replace that process (spreadsheet to Kanban, flat credits to proportional credits) once it stops scaling.
Protecting contributors' time and bandwidth proactively, rather than letting informal enthusiasm turn into invisible overwork.
Holding two things in tension without dropping either: respecting leadership mandates while still making the technically efficient case when a mandate risks duplicated effort.
Treating every piece of user feedback — even a single strange edge case — as a possible signal of a systemic issue worth investigating, not just an anecdote to log and forget.
Unfiltered Stories is a Facebook page with 3.4M+ followers built around raw survivor testimonies. The audience is highly sensitive to authenticity, making any artificial element a potential risk to engagement.
The challenge was to introduce AI-generated content into the format without breaking audience trust or reducing emotional impact.
My role was to define the creative direction across the format, identify what was breaking the sense of authenticity, and guide iterative changes across script, visuals, and audio.
Views per video — creative iterations marked
Creative iterations — what changed and why
The original A-roll felt produced. I asked the editor to rewrite the script to sound less rehearsed (shorter sentences, more pauses) and regenerate the character with a lowres, webcam-style look. The goal was to shift the emotional register from "documentary" to "someone filming themselves." The next video hit 148K, the first real spike.
The tool we were using to generate the A-roll got a significant update. The new model produced noticeably more realistic skin texture and eye movement. We didn't change the creative direction: we just had better material to work with. The improvement compounded the previous iteration.
The B-roll illustrations were too clean. They had a softness that felt at odds with the heaviness of the stories. I asked for something darker, moodier, less storybook: visual language that matched the emotional weight of the testimony rather than illustrating it literally.
Illustrated B-roll, even when dark, still reads as "constructed." I wanted B-roll that looked found: like someone had recovered security camera footage or dug up an old clip. We added fake CCTV shots and grainy, handheld footage emulating UGC. The contrast with the A-roll made both feel more real. Views jumped to 596K the following video.
Clean audio on a rough-looking video creates dissonance the viewer feels even if they can't name it. I asked the editor to apply a lo-fi filter to the character's voiceover (subtle compression artifacts, slightly reduced presence) so the audio texture matched the visual texture. Small change, but it closed a gap.
For a story about an acid attack, I asked the editor to generate the hostess with a visibly scarred face. It was the most direct we had been: putting the physical consequence of trauma on the character's body. It forced the viewer to sit with what had happened. The video performed at 351K and set the emotional baseline for what came after.
ElevenLabs was producing clean, synthetic-sounding speech. On January 19, I flagged to the editor that Veo 3.1 was generating more naturalistic vocal delivery: with involuntary hesitations and breath texture that ElevenLabs couldn't replicate. I suggested he start using it as a baseline for the voiceover, applying it in specific moments where emotional authenticity mattered most. He began incorporating it selectively from that point. The format's upward trend continued: "42 Stitches on My Face" hit 3.4M views and became the 2nd highest-revenue video across the entire channel in Q1 2026, as Veo became an increasingly central part of the pipeline. Full A-roll generation with Veo is still in development.
I shared with the editor a set of overperforming videos from real-life hosts, where the A-roll framing was noticeably more straightforward, direct, and closer to the camera.
| Date | Video | Views |
|---|---|---|
| Aug 29 | A Birthday Surprise That Became 17 Days of Terror | 60K |
| Sep 5 | She Was 14 When He Stole Her Childhood | 32K |
| Sep 12 | She Was 7 When Her Mom's Dealer Took Her | 41K |
| Sep 26 | Kidnapped at Four — Starved and Locked Away | 28K |
| Oct 3 | 7 Years Old and Locked in a Jungle Prison | 54K |
| Oct 10 | He Kidnapped Me After I Said No | 40K |
| Oct 17 | They Tried to Trap Us in the Woods | 37K |
| Oct 24 | He Slipped Something in My Drink… I Was 10 | 20K |
| Oct 31 | They Locked Me in a Box… for Years | 106K |
| Nov 8 | I Was Strapped to a Chair for 'Lessons' | 25K |
| Nov 14 ★ | He Locked the Car Door the Second I Got In | 148K |
| Nov 21 | I Woke Up in a Motel… 38 Days Missing | 195K |
| Dec 5 | He Was Hiding in Our Car the Whole Time | 108K |
| Dec 19 ★ | They Didn't Adopt Me — They Owned Me | 596K |
| Dec 26 | Kidnapped at 13… By My Own Aunt | 324K |
| Jan 2 | Our Gardener Kidnapped Me at 15 | 119K |
| Jan 9 | He Choked Me in My Own Apartment | 171K |
| Jan 16 ★ | They Adopted Me to Win Pageants | 351K |
| Jan 23 | He Stalked Me, Then Attacked Me With Acid | 890K |
| Feb 2 | Born Into a Secret Cult in the Woods | 939K |
| Feb 9 ★ | They Left Me for Dead — 42 Stitches on My Face 2nd highest revenue on the channel · Q1 2026 | 3.4M |
| Feb 16 | I Owed $4,000… They Took Me Instead | 415K |
| Feb 18 | My Biggest Fan Tried to Kill Me | 108K |
| Feb 26 | My Ex Broke Out of Prison to Take My Son | 539K |
| Mar 9 | My Makeup Tutorial Exposed My Parents' Darkest Secret | 732K |
| Mar 16 | My Stepdad's 4th of July "Joke" Changed My Face | 1.4M |
| Mar 23 | My Dad Locked Me Underground for 6 Months | 803K |
The key insight was editorial, not technical.
Realism functioned as a tool to support emotional resonance, not as an objective on its own. Each iteration focused on removing friction between the viewer and the story.
The format's growth came from compounding small creative decisions over time, guided by audience response rather than isolated breakthroughs.
Alongside production, I played a key role in accelerating AI adoption across the team.
I translated emerging tools into practical workflows, helping editors and producers integrate AI into daily production and improving overall team efficiency.
CapCut Creator Partner Program — Company Selection · Sep 2025
Together with my manager, I proposed that Blue Foxes apply to CapCut's Creator Partner Program (CPP), a contest-style selection process run by the CapCut team. As Post-Production Manager, I led the entry from the production side: selecting which editors would produce the submission videos, reviewing scripts and final cuts, and coordinating with a multidisciplinary team.
The application was successful — Blue Foxes was named an Official Creative Partner, with the team now running a rotating weekly ambassadorship inside CapCut's Discord community and producing tagged AI-tool content for Instagram and X.
Blue Foxes was named an Official Creative Partner in CapCut's Creator Partner Program (CPP) — the initiative I helped drive into existence.
Nano Banana — Tutorial · Sep 2025
Within a week of Nano Banana Pro launching, I produced a 12-use-case tutorial video and shared it company-wide.
Within a week of Nano Banana Pro launching, I produced a 12-use-case tutorial video and shared it company-wide. The post gathered 34 🔥 reactions and became an internal reference for the team's AI A-roll workflow.
AI Workshop — Live Demo & Q3 Feedback · Oct–Nov 2025
On October 16th, 2025, I was one of the team members who ran a live demonstration for the entire company, with around 90 people joining the call. The session covered tools for AI image and video generation, with real-time examples and use cases directly applicable to the team's production work. The screenshot below is from that session.
Live demo in progress: Sora, Google AI Studio, and other generative tools. ~90 attendees via Google Meet.
"The demo was mind-blowing and directly applicable to my work."
— Participant feedback, Q3 2025
Highest-rated workshop of the quarter. Feedback noted "excellent reception" and demand for follow-up sessions, which led to a dedicated space for workshop replays and materials.
AI Animation · Embroidery Kit Brand
The brand sells embroidery kits, so every visual decision had to feel tactile. The entire animation was built in AI with a wool-thread texture applied to the environment and character hair: a deliberate choice to make the material of the product present in the ad itself, not just referenced by it.
The colour palette was pulled directly from the brand's existing identity. Nothing invented, just carried through consistently into a new format.
The script came from a personal place: my mother and grandmother both embroidered. I brought that specific kind of affection (the warmth of watching someone you love make something by hand) into the narrative. The emotional entry point isn't "buy a kit." It's a memory.
Hybrid Production · Influencer + AI · Deepfake · AI Voiceover
This ad mixes real footage with an influencer alongside AI-generated takes to build a seamless narrative. The copy required specific emotional moments, like the influencer arriving home exhausted, for which no real footage existed. Rather than reshoot, I used deepfake technology to generate realistic takes that matched the script and filled those narrative gaps convincingly.
The voiceover is also fully AI-generated, making the audio layer faster to produce and easy to iterate: tone, pacing, and language variants can be adjusted without a new recording session.
Brand Narrative · Founder-Led · UGC Compilation
A two-minute brand story that opens with the founder to camera in her studio, with a quick map shot placing the company in New Zealand. Then it hands the narrative to the community: customers unboxing kits, stitching on sofas, the team gathered at a retreat, lessons on video. The founder frames the story, and the people in it carry the proof.
The core claim is that embroidery is achievable, and it's said by the people who learned it. Real homes and real faces replace a produced testimonial, which fits a handmade-craft brand where authenticity is the product. Black and white appears briefly on the founder in reflective moments, the same device used in the VSL, so tonal shifts stay consistent across the account.
AI Voiceover · ElevenLabs · Tutorial Ad
A close-up stitching tutorial, one step at a time, narrated with an AI voiceover in a North American voice and captioned for sound-off viewing. The brand sells to a North American audience, but its team is spread across Oceania and Asia, so voiceover used to mean a team member simulating an American accent: inconsistent on the ear of the audience that matters most, and slow to record.
The hypothesis was that a native-sounding voice would protect the authenticity a handmade-craft brand depends on, and that moving voice into post-production would let tone, pacing and emotional delivery be adjusted through the script instead of a new recording session. I applied it selectively, on a piece where the narration carries the instruction, to validate the impact without putting brand credibility at risk.
Hybrid Production · VSL Structure · Founder-Led · Seasonal Hook
The ad opens on the problem, not the product: late-night phone scrolling, shot in black and white. The grayscale holds through the host's setup and flips to full colour at the exact line where the solution begins, so the image change does the job of a transition.
Underneath is a classic VSL order (problem, reframe, product, offer, CTA) delivered to camera in a casual register so it reads as organic. Mother's Day supplies the timing and the reason to act now, and the "analog antidote" framing positions the kit against the phone rather than against other crafts.
The CTA names its own contradiction: open the site on your phone, pick a kit, then put the phone down. Acknowledging the irony instead of hiding it keeps the close in the same voice as the rest of the piece.
Hybrid Production · VSL + Organic Content
This piece blends the structure of a Video Sales Letter with the feel of organic social content. Knowing how much timing matters in content strategy, I anchored it to Setembro Amarelo (Brazil's mental health awareness month) as a natural entry point to talk about self-care and its benefits. The campaign connection gave the message cultural relevance and emotional permission to go deeper than a typical ad.
Animated Static · B2B · Aesthetic Equipment
An animated static for Rentalmed: a still creative from the design team, brought into motion. The format looks simple, but the layout, hierarchy and brand look were already decided, so the animation has to work inside those choices rather than around them.
That is why alignment with design comes before any keyframe. What moves, in what order, and what has to stay exactly where design put it get agreed first, so the motion adds energy without drifting from the brand system or from the static it started from. Aligning early is faster than revising later, and it keeps the video and the still recognisably the same piece.
Spec · Trend Replication · Fully AI-Generated
A self-initiated exercise, not client work. I took a DIY trend I'd seen in organic feeds, turning a drink's shrink-wrap label into doll clothes, and rebuilt it entirely in AI: the hands, the doll, the bottle, the kettle and hair dryer, the label tightening onto the body. There is no real footage in it.
The point was realistic product AI. A trend like this only works if the packaging behaves like packaging: a label that wraps, shrinks and keeps its branding legible in close-up, condensation on the bottle, the product on screen in nearly every shot. The drink is an invented electrolyte label (HYDRO, Christmas Edition), used as a stand-in for a real brand.
I'm showing it as a spec, not as an ad. It has no brand brief and no performance data behind it, so it makes no claim about results. What it does show is that a beverage brand could join a trend like this without a shoot, using its own packaging as the prop. If I ran it for a real brand, the first test would be packaging-as-prop against a standard product demo, read on hook rate and hold rate.
Selected work across formats, combining storytelling, production efficiency, and audience-driven creative decisions.
AI Simulation · Conspiracy Central · Facebook
This video reached 1.7M views on Conspiracy Central. The concept was built around real footage of the thieves escaping (used as a hook), while the video promised to break down the full story through a timeline.
The key creative challenge was the reconstruction. In traditional TV production, that kind of visual simulation would require 3D modelling or live dramatisation, both time-intensive and expensive. I produced the entire reconstruction using AI-generated imagery, which allowed me to build realistic, cinematic simulations quickly and at scale. That production efficiency directly contributed to the content's performance and reach.
Channel Case Study · Snapchat
Rap Lore is a Snapchat channel covering celebrity drama and hip-hop lore: Diddy, Beyoncé, Jay-Z, Rihanna. I joined as video editor in November 2024, read the audience signals to see which content consistently outperformed, and doubled down on it.
I tracked average watch time and completion rate per episode as the primary editorial signal, using them to evaluate hooks, pacing, and where attention dropped, rather than optimizing for impressions alone. Over six months the channel scaled from 11.1M to 17.6M impressions per quarter (+58% QoQ), with revenue growing from $178.6K to $259.2K (+45% QoQ) across 466M total views and 50+ episodes.
Long-form · YouTube
A deep dive into Frank Ocean's career: his origins, meteoric rise, his unconventional exit from Def Jam, and his years-long withdrawal from public life. This was also where I started experimenting with AI-edited imagery, using generated visuals to fill narrative gaps and bring the audience closer to the story being told, adding illustrative coherence where archival footage simply didn't exist.
Two days before the video went live, Frank Ocean broke years of silence and dropped a snippet of an unreleased track. The timing was entirely coincidental, but it drove a surge of audience interest that helped the video outperform expectations. It became the 12th most-viewed post on the channel, with 161K views.
Short-form · Santa Catarina State Communications Office
Originally assigned to cover a state initiative to clear the Department of Traffic impound lot (hundreds of abandoned, seized vehicles being processed for destruction), I saw an opportunity to package the story in a way that could travel beyond the official communications bubble. Instead of a straight report, I put together a visual montage of the machinery at work, cut to Johann Strauss's The Blue Danube.
The tension is the point: heavy industrial equipment crushing cars, scored to a waltz normally associated with ballet. The contrast makes the mechanical movements readable as something almost choreographic, and that incongruity is exactly what gave the piece traction on social media. It performed well across the state's official channels, driven by the irony rather than the institutional message.
Mini-documentary · Santa Catarina State Communications Office
This mini-documentary was produced for the Santa Catarina State Communications Office, telling the story of Escola de Ensino Básico Aldo Câmara da Silva, the first zero-waste school in Brazil. I was responsible for the full creative chain: filming, scriptwriting, and editing. The film documents how the school is transforming its community's relationship with the environment and setting a national example, proving that real change starts in the classroom.
Creative Producer · Performance Video · AI Production
Professional Experience
Education
Languages