Inspiration

Imagine exploring what could work—and what could go wrong—with your film before shooting a single scene.

We’re a team with backgrounds in data, technology, and media. We wanted to help filmmakers connect creative decisions with evidence while keeping their judgment at the center.

That inspired Lumen: a pre-mortem for films that don’t exist yet. A producer submits a screenplay, concept frames, and project context. Lumen examines the material, investigates relevant audience reactions, and explains potential risks before production begins.

What it does

Lumen brings together four perspectives:

  • Story: Measurements of screenplay structure, estimated runtime, dialogue, and pacing.
  • Visuals: Measurements of brightness, contrast, and dark-frame frequency.
  • Audience: Research into how viewers responded to similar creative choices.
  • Market: Evidence about comparable films and the proposed concept.

The result combines measured observations, sourced research, and a rating projection with its uncertainty. Lumen also explores changes to selected features and checks whether their predicted effects exceed the model’s error margin.

When an effect is too small to distinguish from error, the answer is inconclusive.

How we built it

Lumen uses a two-layer agentic architecture: agentic training and agentic evaluation.

Layer 1: Agentic training

An agent-guided pipeline supports feature engineering, candidate model training, evaluation, and model selection.

Our selected model is a ridge regression trained on 90 real feature films and 752 real stills, with no synthetic training rows. It uses eleven craft features to produce an IMDb-style rating projection.

This pipeline has been run once. The selected model is fixed during inference; automated repeat training is future work.

Layer 2: Agentic evaluation

At runtime, deterministic code measures the submitted material and computes predictions. Gemini agents investigate relevant evidence and synthesize the findings.

A research agent, built with Google ADK and Gemini, uses Parallel Search to investigate comparable films, audience responses to similar craft choices, and whether a premise’s central idea appears overused.

Code checks that cited URLs were retrieved and that quoted evidence appears in the retrieved text. Unsupported claims are removed.

A synthesis agent reconciles the research with the measurements and model output. For example, dark imagery may raise a visibility concern, but relevant precedent may suggest that it supports an intentional visual style.

Our guiding principle is simple: code owns the numbers; language models explain the findings.

The application combines Python, FastAPI, scikit-learn, OpenCV, Google ADK, Gemini, and Parallel Search, deployed on Google Cloud Run.

Challenges we faced

Fluent explanations could conceal incorrect calculations

An early prototype received the prediction model as a tool but failed to call it. Instead, it invented a baseline and presented convincing calculations around it.

That changed our architecture. We moved measurements, predictions, and numerical comparisons into deterministic code and added checks for unsupported numbers in generated explanations.

Screenplay parsing was harder than expected

Screenplays vary in formatting. Errors in scene detection or runtime estimation can distort everything downstream. We improved the parser and added validation so unsuitable input would be rejected with reasons.

Baselines could create misleading “improvements”

We discovered that comparing a model trained largely on highly rated films against a broader genre average could create an artificial craft advantage. We aligned the baseline with the training corpus to make that comparison more meaningful.

Research needed verifiable evidence

Plausible summaries were insufficient. We added source and quotation checks so users could inspect the evidence behind the claims.

What we learned

Agentic systems need clear boundaries. Agents help guide training and investigate evidence, while deterministic code makes numerical results reproducible.

We also learned that uncertainty belongs in the product experience. Our model’s cross-validated mean absolute error is approximately 0.435 rating points. Many proposed changes produce effects smaller than that error, so presenting them as confident recommendations would be misleading.

The training set is small and heavily weighted toward highly rated films. It cannot establish reliable flop prediction. The measurements and sourced research are the core product; the rating provides context.

What we’re proud of

Our demo evaluates a hypothetical Gangs of New York sequel using a draft screenplay and ten visual frames.

It moves beyond a headline score to a concrete creative question: could the dark imagery make the film difficult to watch, or is it serving the intended atmosphere?

That is the conversation we want Lumen to support—one where filmmakers can inspect the observations, follow the sources, and decide what deserves attention.

What’s next

We want to expand the dataset across a wider range of film outcomes, improve screenplay parsing, automate repeat training, and evaluate the system with filmmakers.

Our goal is to help creative teams see potential problems earlier, understand the evidence, and make their own decisions.

Lumen: a chance to see what could go wrong—before you saw it.

Built With

Share this project:

Updates

Submission history