Skip to content
← The CineLog Journal

From Script to Shot List Without Starting From Zero

· August – September 2025

The second problem: turning the parsed screenplay into something the director can actually use on set.

Importing a script was step one. Step two was the question nobody on a production looks forward to:

“Who’s making the shot list?”

The answer depends on the production. On bigger sets it’s often the 1st AD, who needs the shot list to drive scheduling, or the director and DP working it out together. On smaller productions it usually lands on the director alone, building it by hand late in the evening. Whoever’s doing it, the pattern is the same: every scene becomes a row, then several rows for coverage, then notes for blocking, then someone forgets a master and the call sheet has gaps. By the time it’s “done,” the script has changed twice and the shot list is already wrong.

This was the obvious thing to attack next.

The first attempt: just list the scenes

Our first version was simple. After importing a screenplay, we’d extract scene headings and create one row per scene in the shot list. Done.

It was useless.

A scene heading isn’t a shot. It’s a container for shots. A two-page scene with three characters needs a master, coverage on each character, probably an insert, and a transition out. Listing scene headings just moved the blank-page problem from one place to another.

So we built a Scene Shot Estimator. No AI, no model — an honest, old-school algorithm. It reads the actual content of each scene — the action lines, dialogue blocks, parentheticals — and proposes a shot list draft from rules we’ve encoded explicitly. Same input, same output, every time. You can read the rules; you can predict the behavior; nothing is happening in a black box.

What “good” looks like

We watched directors plan coverage and noticed a pattern. They don’t dump every shot at the end of the scene. They interleave coverage shots between beats of the scene, in the order they expect to use them. The estimator had to do the same thing or the output would feel like a machine-generated list nobody would trust.

The estimator now:

  • Reads the action lines and dialogue inside each scene.
  • Generates shot suggestions with descriptions that reference the actual content — not generic “wide shot” labels.
  • Interleaves coverage shots through the scene at the points where they make sense, instead of clumping them at the bottom.
  • Picks coverage types differently depending on whether the moment is dialogue, action, or a parenthetical beat.

It’s not magic. A director still rewrites most of it. But “rewrite a 60% draft” is a fundamentally different task than “stare at a blank page.”

The replace-or-merge problem

A few directors used the early version, then immediately asked the question we should have anticipated:

“I already started building my shot list manually. Will this nuke it?”

So we added a confirmation dialog before the estimator runs. It shows you a preview: how many scenes will be created, how many will be skipped because they already exist, how many shots will be added, and which new locations will be created. Then you choose:

  • Replace — clear what’s there and rebuild from the script.
  • Merge — keep your existing work, fill in the gaps.

And separately:

  • Scenes only — just create the scene rows.
  • Scenes with shots — full draft including suggested coverage.

That dialog was small but it earned trust faster than anything else we shipped that month. Directors stopped being afraid to click the button.

Live analytics, not page-count manual math

While we were in the script editor anyway, we added a side panel that updates as you type:

  • Scene count
  • Word count
  • Estimated page count using industry-standard rules (55 lines per page, with element-specific weights)
  • Characters and per-character stats — how many lines, estimated screen time

The page calculator was the surprise win. Most writers eyeball page count by file length, which is wrong because element types take up different amounts of physical space (a parenthetical is narrower than action). The calculator gives you something accurate, formatted the way the industry expects: 22 3/4 pages, not 22.75.

The whole panel runs in real time without re-parsing the document. It just reads element types off the script nodes we already have. The cost is essentially zero, and the feedback loop — type, see the number move — turned out to be motivating in a way we didn’t predict.

What it looks like today

Import a screenplay, click Populate Shot List, choose Merge or Replace, and you get a starter shot list with proposed coverage shots that reference your actual scenes. The script analytics sidebar shows live page count, scene count, and character breakdowns as you write.

You’re still the one making the shot list. We’re just trying to skip the part where you start from nothing.

The struggle, honestly

The Scene Shot Estimator is the kind of feature that’s easy to ship at 60% and hard to push past 80%. Every director plans differently. Some want masters first, then coverage. Some want shot-by-shot. Some hate the word “coverage” entirely. We’ve heard it all.

The current version is opinionated about a few things — interleaved coverage, references to scene content in shot descriptions, conservative defaults that lean toward fewer shots rather than more. We expect to keep tuning it. The bigger architectural decision — that the script and the shot list are two views of the same production data, not separate documents — was the one that mattered, and that one we got right.


Next: Workspaces, Projects, and Passwordless Auth: The Foundation Layer — why a single-user desktop tool wasn’t going to be enough, and the infrastructure choices that everything else stood on.