🎬 The Hook (Inspiration)

In film production, there is a hidden expense that burns millions of dollars: continuity errors. Scenes are shot out of orderβ€”a close-up might be filmed days or weeks after the master wide shot. If a makeup artist forgets to touch up a cut, an actor buttons their collar differently, or a prop moves between takes, the director only notices it in the editing suite. The result? Painfully expensive reshoots costing tens of thousands of dollars, or hundreds of tedious hours spent on digital paint cleanup in post-production.

πŸ’‘ The Solution: Flawless Take

I built Flawless Takeβ€”an autonomous, real-time multimodal AI continuity supervisor engineered directly for on-set script supervisors, makeup artists, and costume departments. Built on an ARRI/SmallHD-inspired cinema tablet interface, it instantly verifies wardrobe, prop, hair, and makeup continuity before the camera rolls the next take.

🧠 Core Agentic Architecture & Workflow

  • Multimodal Visual Diffing (Gemini 3.8 Flash): Using Google's gemini-3.8-flash, Flawless Take performs zero-hallucination comparative analysis between an approved baseline frame and the live camera take, rating risk (LOW, MEDIUM, HIGH) and pinpointing exact discrepancies by department.
  • Script Grounding: Ingests PDF shooting scripts to extract character lookbook constraints and scene rules to ground visual checks.
  • Cross-Take Scene Memory (State Tracking): Implements Phase 4 state management. Instead of context window bloat, the agent aggregates previous take verdicts into a compact chronological state timeline, tracking continuity drift take-over-take.
  • Autonomous Agent Copilot (8 Studio Tools): Powered by native Automatic Function Calling (AFC), the copilot queries SQLite take history, verifies script guidelines, and synthesizes structured Department Action Checklists (Makeup πŸ’„, Wardrobe πŸ‘”, Props 🎭, Hair πŸ’‡).
  • FastMCP 2.0 Integration: Exposes all 8 production tools via a Model Context Protocol (MCP) server over SSE (/mcp/sse), allowing editing suites (NLEs), Cursor, and Claude Desktop to query on-set take data directly.
  • Hands-Free Voice Assistant: Web Speech API integration with auto-rearm continuity radio mode, enabling supervisors to issue voice queries hands-free near camera rigs.
  • Official Hollywood PDF Continuity Logs: Generates printable Daily Continuity Log PDFs via ReportLab with embedded high-res frame captures and digital sign-offs.

🀝 Partner Track Integration: IBM Bob & Confluent Kafka

IBM Bob (AI Architecture & Engineering): IBM Bob was actively used across the initial development phases until the 50.11 Bobcoins quota was reached:

  • Created the initial FastAPI backend structure, dependencies (requirements.txt), and Pydantic models.
  • Connected the React frontend form to the backend for take photo uploads (/api/check-take).
  • Implemented the PDF shooting script upload and parsing route (/api/upload-script).
  • Fixed the regex logic in _extract_risk() to correctly map Gemini verdicts to the Kafka event payload.
  • Set up SQLite database persistence for saving and querying take history.

  • Confluent Cloud Kafka: Serves as the real-time event backbone. Every continuity inspection publishes structured events to the flawless-take-events topic on Confluent Cloud, which are streamed live to connected crew tablets via SSE (Server-Sent Events).

  • Google Cloud Platform (Phase 5 Deployment): The production system is containerized via a multi-stage Docker build and deployed serverless on Google Cloud Run, protected by Google Cloud Secret Manager (GEMINI_API_KEY), and guarded by calibrated Gemini Safety Settings.

Live Demo & Cold Start:
The public Cloud Run deployment scales to 0 instances when idle to conserve resources. Please allow 15–20 seconds on the initial visit for the container cold start.

πŸš€ Impact & Closing

Flawless Take transforms manual paper-and-clipboard tracking into a deterministic digital safety net for the backlot: ensuring every captured take is the final take. Zero continuity flaws. Fit for the big screen.

Built With

Share this project:

Updates

Submission history