Inspiration

Every film and series has a clearance problem that nobody outside production talks about. Before a scene can be shot, someone has to know whether the laptop on the desk, the song in the background, the real person on the holo-screen, and the building in the establishing shot are safe to put on camera. Today that work lives in spreadsheets, email threads, and the memory of one overworked clearance coordinator. When it goes wrong, scenes get pulled the day of the shoot, or a lawyer's letter arrives after release.

I wanted a workspace where the screenplay itself is the source of truth, the research is grounded in live evidence rather than guesswork, and every decision is auditable enough to hand to a studio's legal team.

What it does

ClearanceScout turns an unstructured screenplay into a production clearance workspace.

  • Screenplay intake. Upload a screenplay as plain text, Fountain, or PDF. Gemini parses scenes and extracts every clearance-sensitive item: brands, music and art, public figures, proprietary locations, and graphic props, each tied to the exact line and excerpt where it appears.
  • Grounded research. For each item, ClearanceScout runs live trademark and web research through the Parallel Search API and records the source URLs, owner details, and registration signals it found. Evidence carries a provenance badge, so a reviewer always knows whether a citation came from a live search or a fixture.
  • Scene readiness. Deterministic logic rolls item status up to the scene. A scene is Final Clear, Working Clear, or Blocked, and the workspace tells production exactly which item is blocking and why. Zero detected items is Pending Review, never a silent pass.
  • Department tasks. Blockers become tasks routed to Legal Counsel, Art Department, or Locations, with comments, attachments, assignees, and a full audit history.
  • Counsel decisions. Legal can record a rights agreement, approve a fictional replacement, or apply a counsel override, and the readiness math updates immediately.
  • Multi-production portfolio. A studio view across productions, with strict data isolation between projects.
  • Clearance binder export. One click produces a legal binder as JSON, Markdown, or print PDF, with a SHA-256 integrity digest.

How I built it

  • Google Cloud Run hosts a single container: a Vite/React front end and an Express/TypeScript API.
  • Gemini 3.6 Flash on Vertex AI (via the Google GenAI SDK, authenticated by the Cloud Run service account) handles screenplay understanding: scene segmentation, entity extraction with usage context, and reasoning over live citations to produce a risk rationale. Deterministic TypeScript owns all state transitions, so the model informs decisions but never silently changes them.
  • Parallel Search API (via the parallel-web SDK) grounds every research step in live web and trademark evidence. Results are stored with their source URLs and a structured search outcome, including the honest case where a live search returns zero hits.
  • Google Cloud Firestore persists projects, scenes, entities, assessments, tasks, and binders via Application Default Credentials. A per-project quota keeps live research spend bounded.
  • Fail-visible design. In live mode the health probe reports which credentials are configured, and any model or search failure surfaces in the UI with a diagnostic code instead of falling back to demo data.

Data sources

  • The user's own screenplay.
  • Live web and trademark search results returned by Parallel Search at research time.
  • A synthetic sample production, The Neon Horizon, bundled so a reviewer can explore the workflow before uploading a script. In live mode the sample is researched through Parallel as well, so its evidence carries the same PARALLEL_LIVE provenance as your own uploads.

Challenges

  • Keeping the model honest. Early versions let the parser fall back to synthetic recognisers when the model failed. I removed every silent fallback so a failed extraction is visible, not disguised.
  • Live mode versus demo mode. Firestore is stricter than an in-memory store. Moving from demo to live surfaced writes with undefined fields that had never failed locally, and taught me to run the real datastore much earlier.
  • Making readiness explainable. A scene can be Final Clear because of a rights record while an item still reads Review Recommended. Getting the card, the item row, and the task list to tell the same story took more iterations than the research pipeline did.
  • Trust in the binder. A digest is only meaningful if every export format hashes the same snapshot. I had to rework export so JSON, Markdown, and PDF share one binder identity.

Accomplishments

  • A real screenplay goes from upload to cited, scene-level readiness in under a minute on the live service.
  • Every evidence record is traceable to a URL and a provenance badge.
  • Multi-project isolation, role-based workspaces, task collaboration, and a portfolio dashboard, all in a single Cloud Run service.
  • Built and shipped by one person, using an agentic development workflow to keep scope honest and verification independent.

What I learned

  • Grounding beats generation for legal work. Test reviewers trusted a short list of real citations far more than a confident paragraph.
  • Deterministic state plus model-assisted judgement is the right split for anything a lawyer will sign.
  • Usability testing with someone who has not seen the click path finds different bugs than automated suites do, and finds them faster.

What's next

  • Per-user workspaces. Today a single shared access token gates the live service and isolation is per production. The next step is a token dispenser: each reviewer or studio user gets their own token, sees only their productions, and has their own research quota and rate limit.
  • Rights-expiry alerts and a calendar view of clearance deadlines.
  • Fictional replacement asset generation for blocked brands and props, with collision checks against live trademark data.
  • Integrations with scheduling and script breakdown tools so readiness feeds the shooting schedule directly.
  • Reviewer mode for outside counsel with read-only binder access.

Try it

Live app: https://clearancescout-n3tcx4jcbq-uc.a.run.app Source: https://github.com/fmcgoohan/clearancescout

DEMO TOKEN: judge-pass-2026

Please start by creating your own production. Click "+ New Production" in the header, give it any name, then upload a short screenplay as plain text (two scenes is plenty). Each production is isolated and comes with its own live research quota of 25 Parallel calls, so you will not collide with other reviewers.

Suggested path, about three minutes:

  1. Create a production and upload a screenplay. Gemini on Vertex AI extracts scenes and clearance items in about 15 seconds.
  2. Open Clearance Items and click Research on any brand. Parallel Search returns live citations in 5 to 10 seconds; open View Evidence to see the PARALLEL_LIVE badge and source URLs.
  3. Open Department Tasks to see blockers routed to Legal, Art, and Locations.
  4. Open Settings, then Export Clearance Binder, to download the JSON or Markdown binder with its SHA-256 digest.

The Neon Horizon is a shared sample production. You are welcome to explore it, but other reviewers may be changing it at the same time, so use your own production for anything you want to keep.

A small screenplay you can paste into a .txt file:

INT. ROOFTOP BAR - NIGHT

MAYA (30s) sips a can of Red Bull while scrolling on her iPhone.
A Nike swoosh glows on her jacket.

EXT. TIMES SQUARE - CONTINUOUS

Billboards flash. A Coca-Cola ad towers over the crowd.
Frank Sinatra's "New York, New York" plays from a street speaker.

Built With

Share this project:

Updates

Submission history