System 01 · September 2026
Slate.studio
A production tracker for the whole show, shots, versions, reviews and due dates, that also catches the AI half: every take made on Fal, Higgsfield, Runway and the rest lands in one inbox, attached to its shot, with the prompt and model that made it. Free beta at slatestudio.online.
Measured results
- Recut engine 5 flags, shot ids stable Drop a new XML or EDL over a show and every shot keeps its id, notes, versions and takes. The engine raises new, trim, slip, back or removed per shot. Slip is the one that matters: same length, different source frames, so comp would be working on the wrong plate. A removed shot becomes a tombstone that can come back.
- Ingest 3 paths to one inbox API pulls every 15 minutes for Fal.ai, Luma and Replicate; the Slate bridge on the artist's machine for Higgsfield, whose web takes no server can list; a pasted link for anything else. A synced take arrives with video, prompt, model, duration, source and time. Logging a take costs nothing.
- Tests 278 cases + 13 server scripts 216 cases over 27 front-end suites, 51 in the bridge CLI, 11 in the desktop shell, and 13 server scripts that run the turnover engine, client review, billing and access rules against a local database, with a golden master guarding a real editorial package.
- Security audit 48 findings fixed A second-pass audit on 29 July 2026 confirmed 48 findings and every one was fixed before the beta opened: a JWT purpose collision, object-level access on media and prompts, a password reset with no rate limit. Platform keys are stored AES-256-GCM; AI keys never leave the server.
Problem
The shot-tracking job, shots, status, assignees, versions, reviews and due dates, is done by ShotGrid and ftrack at an enterprise seat price, and neither knows that half the takes on a 2026 job come out of Fal, Higgsfield, Runway or Luma. Those takes ended in download folders with no prompt, model or cost attached, a recut broke the shot list, and client notes lived in email threads.
Method
One web app, one API, one bridge. A React front end and an Express API over PostgreSQL, with Mux for playback and Stripe for credits. A turnover engine reads XML and EDL, matches events to known shots by roll and source timecode, and reconciles the recut without renaming a shot. Three ingest paths feed one inbox: API pulls every 15 minutes for Fal.ai, Luma and Replicate, a bridge CLI on the artist's machine for Higgsfield, and a pasted link for anything else. Review notes are drawn on the frame and pinned to its timecode; clients approve through a link without an account. Platform keys are stored AES-256-GCM and used only server-side, and the whole thing went through a security audit before the beta opened.
In production
Slate.studio is a production tracker in free beta, run on real jobs before it was a product: the shot list, who has what, what is due and what the client said, on one sheet that everyone reads the same way, priced for a shop rather than a studio. The part no other tracker has is the AI half. A day’s takes on Fal, Higgsfield, Runway and Luma used to end in download folders with no record of the prompt, the model or the cost. In Slate they land in one inbox, attached to the shot, with the prompt and model that made them, and promoting a take makes it a numbered version next to every other attempt.
The recut engine is a port of the Python that ran on real turnovers before the product existed. Editorial sends a new XML or EDL, the engine matches every event to the shots it already knows by roll and source timecode, and the shot that was sh080 is still sh080 afterwards, because that id is also a folder on the shared volume and the row a producer has been typing into. Each shot can raise new, trim, slip, back or removed, and a flag stays until a person clears it. Slip is the one that used to pass silently: same length, different source frames, so comp kept working on the old plate. A removed shot becomes a tombstone that keeps its notes and can come back in a later cut.
The stack is ordinary on purpose. A React 19 and Vite front end on Vercel, 23 pages over 190 components. An Express 5 API on Railway with Prisma over PostgreSQL: 145 routes, 27 models, 34 migrations since 16 February 2026. Mux for playback and for the drawn review notes pinned to a frame, Stripe for the credits behind the AI assistant and frame QC, while logging a take costs nothing. The bridge is a Node CLI with no dependencies that runs on the artist’s machine, because takes made in Higgsfield’s web app can only be listed through the artist’s own login, and reading a local manifest beats holding anyone’s password. 165 commits across three repos, one author.
What the security audit found matters more than its count. A second pass on 29 July 2026 confirmed 48 findings, among them a JWT purpose collision, object-level access holes on media and prompts, and a password reset with no rate limit. Every one was fixed before the beta opened, and the test suites keep them fixed: 216 front-end cases, 51 in the bridge, 11 in the desktop shell, and 13 server scripts that run against a local database with a golden master guarding a real editorial package. Next: wire in the Frame.io adapter that is already written, take the desktop shell past 0.1, and keep the dogfood short running through the review loop. The shop-floor half of the product is the Slate Nuke plugin suite.