Inspiration
Every script that gets written has to survive a brutal gauntlet before it ever reaches a camera: coverage, budget analysis, location scouting, casting, and a pitch that can actually sell the room. In a real studio, this takes a team of specialists weeks — sometimes months — to pull together, and most independent writers and filmmakers never get that kind of infrastructure at all. We wanted to know: what if a script could walk into a "green light room" and walk out an hour later with everything a studio exec needs to say yes? That question became the seed for this project.
What it does
The Green Light Room is a full-stack screenplay analysis platform. Upload a screenplay PDF, and it produces a complete pre-production package:
- Coverage — logline, verdict, score, genre, tone, three-act breakdown, pacing and structural notes, strengths, considerations, and comparable titles
- Budget & Complexity — production tier, complexity score, cost/complexity line items, and notes on locations, night work, cast, stunts, and effects
- Tone Graph — dominant tone, emotional/pacing arc, and scene-by-scene intensity mapping
- Casting Briefs — character-by-character breakdowns with age range, archetype, performance notes, and estimated screen time
- Location Scout — extracted and deduplicated shooting locations, INT/EXT classification, practical-vs-soundstage guidance, permit and logistics notes, and real-world location suggestions grounded in live search
- Trailer Cutter — AI-generated trailer beats, a tagline, and a full narrated trailer script with voiceover audio
- Greenlight Committee — four simulated studio executives (Studio Head, CFO, Creative Exec, Marketing Chief) who each weigh in with a stance and reasoning, culminating in a final verdict
Everything runs through an "Analyze All" pipeline that sequences all seven modules end to end, and a Slate View lets you line multiple scripts up side by side to compare them. The full package — every module, every source link — exports as a polished PDF report.
How we built it
The app is a TypeScript monorepo (pnpm workspaces) with a clear separation between frontend, API, and shared libraries. On the frontend, we built with React 19, Vite, TanStack Query, Tailwind, and Radix primitives, wrapped in a dark "screening room" visual identity. The backend is an Express API that handles PDF intake with Multer and pdf-parse, a heuristic screenplay parser that pulls out scene headings, characters, settings, and timing, and a PostgreSQL database (via Drizzle ORM) that persists everything from raw script text to every generated analysis module.
For intelligence, we split the work across two models rather than asking one model to do everything: Gemini 2.5 Flash handles the structured analysis modules — coverage, budget, tone, casting, location scouting (with live Google Search grounding), trailer beats, and the Greenlight Committee — while OpenAI's gpt-audio turns the trailer script into narrated audio, which we store in Replit's private object storage and stream back to the dashboard.
To keep the frontend and backend honest with each other, we defined the whole API contract in OpenAPI and generated our React Query hooks and Zod validators from it, so every AI response gets schema-validated before it ever reaches the UI. The Analyze All pipeline runs the seven modules sequentially, with quota-aware retries and backoff, and feeds the Greenlight Committee the freshly generated results from the other modules rather than reading stale data.
Challenges we ran into
Coordinating multiple AI calls into one coherent pipeline was the core engineering challenge. Sequencing Analyze All so each module gets what it needs — and gracefully handling Gemini quota limits with retries and backoff rather than failing the whole run — took real iteration. Getting the Greenlight Committee to feel like four genuinely different perspectives, rather than one model repeating itself in four voices, meant careful prompt and schema design. Grounding the Location Scout in live search results and then reliably extracting, deduplicating, and validating those source URLs (so a malformed link never breaks the PDF export) was its own rabbit hole. And writing a screenplay parser that's forgiving of real-world formatting quirks — inconsistent scene headings, odd character-name casing — while staying lightweight enough to run fast, took several passes.
Accomplishments that we're proud of
We're proud that this isn't a UI mockup — it's a working full-stack product with a real database, real AI-generated analysis across seven distinct modules, and a genuine end-to-end user journey: upload a script, run analysis, review the dashboard, listen to a narrated trailer, export a complete PDF report, and compare multiple scripts in Slate View. We're especially proud of the Location Scout's live search grounding and the Greenlight Committee's multi-persona verdict system, which push past "just summarize the script" into something closer to how a real studio actually deliberates.
What we learned
Building this reinforced how much orchestration matters once you're coordinating several AI calls with different jobs — quota handling, sequencing, and schema validation ended up being as important as the prompts themselves. We also learned the value of contract-first development: generating our API client and validators from a single OpenAPI spec caught mismatches early and kept the frontend and backend honest with each other. And working inside Replit's managed integrations (Gemini, OpenAI, Postgres, object storage) taught us a lot about handling secrets and environment configuration properly rather than as an afterthought.
What's next for The Green Light Room
Next up is turning the Trailer Cutter's narration into an actual edited video trailer with shot selection and music, not just narrated audio. We also want to bring Slate View up to parity with the full analysis suite (casting, locations, trailer, and Greenlight Committee comparisons, not just coverage/budget/tone), add OCR support for scanned scripts, and introduce real authentication and per-user workspaces so The Green Light Room can move from a shared demo environment to a proper multi-user product. Rounding it out with a real automated test suite — starting with upload boundary conditions — is high on the list too.
Built With
- gemini
- replit
Log in or sign up for Devpost to join the conversation.