Agentic AI · Domain Transfer Proof

Film Pre-Production
Agent

I built an experiment that breaks a script into scenes, reviews visual-effects complexity, and asks a producer to approve the planning package.

ReAct agent 4 function-calling tools Producer-approval gate Python · Streamlit
At a glance 30-second read

What it is

I applied the same assistant pattern used in my security-triage project to film planning. It breaks down scenes, reviews visual-effects complexity, and proposes casting types. A producer must approve the package before it is locked.

What I explored

I explored how an assistant can prepare a plan while leaving the final decision with a producer.

Skills and tools

  • Domain-transferable ReAct agent architecture
  • Function-calling tool design across creative workflows
  • Approval-gated agent loop (producer sign-off)
  • Structured-output extraction from unstructured text
  • Streamlit operator UI for non-engineer end-users
Python Streamlit Gemini 2.5 Flash ReAct Function Calling
What it is
Person Producer brings a script
→
AI Gemini 2.5 Flash reasons, picks a tool
→
This project visionary four tools
→
Output Production package breakdown + casting

I reused the assistant pattern from my security-triage experiment for a different task: film planning.

4
focused tools
2
autonomy modes
1
producer-approval gate
0
packages locked without sign-off
See it run one take, no narration

Breakdown to sign-off.

A full pre-production pass on a neo-noir script — the agent breaks it into scenes, scores VFX complexity, and curates casting archetypes, then stops at the producer-approval gate before the package locks.

visionary-producer · script: Neon Harbor [ RECORDED RUN ]

Recorded from a live run against Gemini 2.5 Flash — the palette re-tints to the script's tone, and the pass ends at the producer-approval gate. Or run it yourself — open the live demo →

01 — The Tools four jobs, four tools

One tool per job.

The work a pre-production coordinator does on a first pass, broken into four tools the agent chains in sequence.

Break down the script
breakdown_script
Parses raw script text into structured scenes, characters, and locations — and reads its tone.
Read-only
Score the VFX
estimate_vfx_complexity
Rates each scene for visual-effects difficulty and flags where a specialist vendor is needed.
Read-only
Curate casting
curate_talent_archetypes
Suggests reference archetypes for each character, tuned to the script's detected tone.
Read-only
Lock the package
finalize_production_package
Commits the breakdown, VFX estimate, and casting to the production board. Gated by producer approval.
Commit · gated
02 — The Loop reason, act, observe

It drafts, then asks.

A ReAct loop: the agent thinks, calls one tool, reads the result, and repeats — narrating each step into a live thinking log. Before it locks anything, it stops for the producer.

"Neon Harbor" · pre-production summary [ ACTUAL OUTPUT ]

Tone: neo-noir · 3 scenes. Locations: Neon Harbor Docks, Harbor Rooftop, Precinct.

VFX-heavy — peak complexity 10; specialist vendor recommended. Casting: MARA — weathered investigator; REYES — institutional authority. Package locked after producer approval.

The agent ran four tool calls to produce that package. The interface re-tints to the detected tone — a mood board that reads the script back to you.

03 — Control the agent proposes; the person decides

Built to be supervised.

A creative tool still commits work that costs money. Three decisions keep the producer in command.

The Autonomy Dial
A slider between Advisory — chat only — and Active, where the agent runs tools. The producer decides how much rope it gets.
Producer-in-the-loop
Locking a package pauses the loop. Nothing reaches the production board until a person reviews and approves it.
One pattern, two domains
The agent loop is identical to the security triage agent's. Only the tools and the surface change.