Clapper Open the app →

Shot list parsing

How accurate is automatic shot list breakdown?

The parsing that turns a shot list into tappable rows runs on the device with a strict parser, not a language model, so it either reads a row correctly or flags it as unparseable. It does not guess, summarize, or invent a row. Tested against a real 137-shot breakdown, it recovered all 137. Rows the parser cannot confidently place get surfaced rather than silently dropped, so a shot missing from the list is something you will see, not something that vanishes.


137 / 137shots recovered from a real shot-division table used to test the on-device parser, with zero silently dropped rows.

Why on-device instead of an AI reading the PDF

Asking a language model to retype 137 rows out of a document is exactly where the two failure modes that matter most come from: truncation, where the model quietly stops partway through a long table, and hallucination, where it invents a row that reads plausibly but was never in the source. Both are hard to catch by eye, because the output still looks like a normal shot list. A deterministic parser cannot do either. It reads the structure it was given, row by row, and a row it cannot confidently place gets flagged, not guessed at.

What can still trip it up

A shot list formatted in a way the parser does not recognize. It is built around the common shot-division table shapes production actually uses, not an unbounded set of layouts, so a heavily nonstandard export, scanned handwriting, or a table with merged or reordered columns can produce a row it cannot confidently place. That row gets surfaced as unparseable rather than dropped or guessed at, which is the honest limit of what a deterministic parser can do: it will not lie to you about a row it is not sure of, but it also will not read a document that was not built to be machine-legible in the first place.

What the model actually adds on top

Once the shot list is parsed into structured rows, that structure, not the original document, gets sent to a small model to turn each shot into a set of tappable key-moment chips: coverage, beats, the kind of thing worth tagging during the take. Those chips spell sizes out in full, closeup, over the shoulder, rather than abbreviating to ECU or MCU, because two letters that are one character apart look identical on a phone screen at five in the morning under a work light. That is the one place in the pipeline a model is involved at all, and it never sees anything but the already-parsed shot division. Turning the parsed rows into chips needs a free sign-in and draws on a small free quota; the on-device parsing above it does not. More on what that means for privacy is on the does a set-logging app upload your script page.

Free, instant, exact

Parsed on your phone, nothing invented

Upload a shot list PDF and the parser reads the table on the device, offline, no quota. What it cannot confidently place, it flags instead of guessing.

Open Clapper