Shotlist Generator
A Keyboard Maestro macro system that parses production scripts and auto-generates structured shot lists — cutting a 30-60 minute task down to under ten minutes.
Problem
Creating shot lists for neighborhood video shoots was taking me anywhere from 30 minutes to an hour per list — and the time was inconsistent. After timing myself across several projects, I realized the bottleneck was not the thinking, it was the mechanical process of pulling items from a script, formatting them into a table, and uploading everything into our web platform. I wanted to formalize and accelerate that process without sacrificing the quality and detail our photographers depended on.
Solution
Working in Obsidian and Keyboard Maestro, I built a macro system that parsed our production scripts automatically. Scripts followed a consistent structure — sections like Intro, Housing, Parks and Recreation — and I developed a convention where bolded text indicated a required shot and italicized text added specific details. The macro would scan the document, extract those marked items, and populate a structured shot list table with columns for shot details, address, and existing footage status. A second iteration added intelligence: the system could recognize recurring location types like schools and auto-fill standard shot descriptions — exteriors, aerials, signage. A third macro automated uploading the completed shot list directly into Web Enterprise, our publishing platform. What took up to an hour became a ten-minute task.
Outcome
The tool made me one of the fastest editors in the department for shot listing, and I led several training sessions teaching colleagues how to use it and how to think about building automation tools themselves. While broader rollout was paused due to organizational changes, the project directly informed the development of ClipStack and other team tools, and demonstrated something I have come to believe strongly: the best creative work happens when the process around it is as well-designed as the output itself.