Inspiration

Film and television productions often have dedicated compliance teams, while short-form creators work at a much faster pace and policy-sensitive review still depends heavily on manual judgment. We combined those realities into a practical pre-shoot workflow: let AI do the document-heavy first pass, bind attention points to a versioned policy snapshot, and keep the creator and qualified reviewer in control.

What it does

Film Compliance Agent turns an uploaded screenplay into an editable, evidence-linked review package before production:

  1. Upload a Markdown, text, or DOCX screenplay.
  2. Gemini 3.5 Flash reads the normalized document and proposes the title, tags, synopsis, episode structure, adaptation plan, and investment band.
  3. The creator edits and confirms those details.
  4. Deterministic workflow logic classifies the project against Policy Snapshot v2.
  5. Scene review produces source-locatable findings and marks uncertain items for human review.
  6. The creator downloads a Project Review Form, Risk Summary, Annotated Script, and unchanged original source with checksum.
  7. Confirmed details can be edited and reanalyzed against the same pinned screenplay version.

It prepares review materials; it does not provide legal approval, government acceptance, or automatic filing.

How we built it

The English creator UI is a three-step upload-first flow built with Next.js and TypeScript. A same-origin authenticated proxy runs on Cloud Run behind Google IAP and calls a private FastAPI service on Cloud Run.

The backend uses the Google GenAI SDK through Vertex AI to access Gemini 3.5 Flash. Gemini proposes editable intake details and semantic scene findings. Deterministic application code owns workflow state, classification precedence, quote verification, finding publication, artifact generation, and concurrency boundaries. A pinned Policy Snapshot provides the governed decision context.

The recording deployment intentionally uses process-local memory. Firestore adapters exist in the repository, but durable ReviewSession persistence is not claimed for this demo.

Challenges

The hardest engineering problem was not generating prose; it was keeping every result traceable to the exact uploaded source across confirmation, reanalysis, DOCX normalization, and concurrent requests. We added source-version pinning, evidence quote resolution, generation-safe reanalysis, atomic publication, and downloadable checksummed artifacts.

We also kept the demo truthful when Gemini wording varies: model suggestions remain editable, semantic results that cannot be located in the screenplay are discarded, and ambiguous policy questions are surfaced as human-review items instead of automatic conclusions.

Accomplishments

  • Gemini-generated title, tags, synopsis, and adaptation suggestions from the full normalized screenplay
  • Human confirmation before classification and scene review
  • Evidence-linked findings with source quote verification
  • Versioned policy classification with deterministic precedence
  • Safe reanalysis of edited details against the pinned source
  • Four downloadable review artifacts
  • Cloud Run deployment protected by Google IAP
  • Deterministic local adapter plus Python, frontend, and Playwright regression coverage

What we learned

Agentic systems become more useful when the model is allowed to propose and interpret, while deterministic code controls evidence boundaries and irreversible state changes. The human confirmation gate is not a fallback; it is the product boundary that makes the workflow usable for policy-sensitive creative work.

What's next

Next steps include durable shared ReviewSession storage, a recoverable asynchronous job runner, reviewer collaboration, broader bilingual policy coverage, and independently reviewed policy mappings.

Try it

Hosted demo: https://web-827776020662.us-east1.run.app/

Repository: https://github.com/RuichenW12/Film-Compliance-Agent

Sign in to the hosted demo with a Google account. For deterministic local testing, follow the README and upload tests/fixtures/scripts/e2e-30min-public-security-en.md.

Built With

  • cloud-run
  • fastapi
  • gemini-3.5-flash
  • google-genai-sdk
  • google-iap
  • next.js
  • playwright
  • python
  • typescript
  • vertex-ai
Share this project:

Updates

Submission history