All work

Case study · 02

Call sheet routing

A single-page tool that turns a daily film call sheet into per-vehicle dispatch PDFs — picking up the right crew at the right time, in the right order, to land on set on call.

StatusShipped
Year2024
RoleSolo · 3 weeks

Problem

On a film shoot, transport coordinators receive a fresh PDF call sheet every day. Dozens of crew members live at different addresses, each needs to be on set by a specific call time, and the production has a limited number of vehicles. The coordinator has minutes, not hours, to plan who rides with whom, in what order, and what time the driver leaves the garage.

Existing software is enterprise-grade and overpriced for indie productions. Most coordinators were doing it in their head, in Excel, or on paper.

Constraints

Approach

A single static HTML page deployed on Netlify. Drop a call sheet PDF in, get per-vehicle dispatch PDFs out.

Anthropic API handles call sheet parsing — robust to arbitrary template variation, returns structured JSON. Haversine distance and a nearest-neighbour heuristic assemble pickup chains per vehicle. Backward time calculation from the call time, plus configurable buffer, produces pickup times for each crew member. ReportLab generates the output PDFs using DejaVu fonts to preserve Czech diacritics — the default Courier breaks them silently.

Plan Generator interface — 3-step upload/parse/generate flow with live console output and per-vehicle transport plan cards
Tool Three-step flow — upload, parse, generate. Live console shows routing decisions; output is per-vehicle PDF for the production.

Decisions

Result

Used on set during production. Coordinator workflow shrank from an hour per day to a few minutes. The structure — LLM parsing of unstructured input, deterministic algorithmic processing, formatted document output — generalises to any production-floor problem where humans currently read PDFs and copy-paste into spreadsheets.