← All workCase 02 / 07
Live at integraos.ioFilm-production management SaaS

From screenplayto callsheet.

An operating system for film and short-film production: import a script, break it down, budget it with real US payroll rules, schedule it on a stripboard and send the callsheets.

Product
Integra integraos.io↗
Client
Film production · USA
Role
Full-stack engineer
Surfaces
Web platform · Mobile · Admin
The brief

Productions still run on a patchwork of screenwriting tools, spreadsheets and PDFs. The goal was one platform that follows a project from the first script import to the morning callsheet.

That meant encoding how the industry actually works — scene breakdowns, stripboards, fringes and union rules, print-ready paperwork — accurately enough for working productions to rely on.

01

Production web app

Script, breakdown, budget, stripboard, schedule, callsheets and crew — the whole production in one place.

02

Companion app

Crew-facing mobile access with clock-in and clock-out and push reminders.

03

Admin console

Organisations, plans, transactions, master data, support, audit logs and import history.

04

Script parser

A dedicated service that turns screenplay PDFs into structured, tagged data.

System map

How it fitstogether.

Every surface talks to one platform core. This is the shape of the system as it runs in production.
Production web appCompanion appAdmin consolePlatform coreFeathers API+ workersScript importBreakdownBudget engineStripboardCallsheetsPython PDF parserStripeS3 storagePush & emailPDF rendering
The hard parts

What made ithard — and how.

The problems that don't show up in a screenshot, but decide whether a product survives real users.
01

Reading a screenplay like a script supervisor

The problem

Most productions only have a PDF. A screenplay's meaning — scene heading, action, character, dialogue — lives in its layout, not its text.

The approach

A dedicated parser classifies every line by its position on the page and the line before it, merges continuations, and detects highlighted tags. Its output matches the Final Draft format, so PDF and FDX imports share one pipeline.

PythonPDF layout analysisFinal Draft
02

Re-import without losing work

The problem

Scripts change daily. Re-importing must not wipe a breakdown or budget someone spent a week on.

The approach

A background worker snapshots the current script and budget as a version, retires the old data softly, re-parses the new draft and streams live progress to the user.

Background jobsVersioningLive progress
03

US payroll fringes and union rules

The problem

Production budgets carry taxes and union fringes with wage caps that apply per person, not per line.

The approach

A fringe engine applies each rate up to its wage cutoff, rolls totals up from line item to category to top sheet, and checks agency-fee eligibility — seeded with standard payroll and union defaults.

Budget engineFringesUnions
04

Paperwork that prints like the real thing

The problem

Callsheets and stripboards are physical documents on set. They have to paginate exactly.

The approach

Print-faithful PDFs with repeating headers, running footers and day-break rows that never split — paired with a drag-and-drop stripboard in the browser.

PDF generationDrag and drop
Inside the system

Everythingit does.

01FDX and PDF script import with version history
02Scene editor and element breakdown
03Budgets with fringes, unions, fees and top sheet
04Drag-and-drop stripboards with A3 export
05Draft and day-wise schedules with date shifting
06Callsheets with revisions, reminders and safety bulletins
07Cast, crew, vendor and agency access profiles
08Stripe plans, trials and add-ons
Built with
Built with
01

Backend

Node.js · TypeScript · FeathersJS · MongoDB · BullMQ · Worker threads

02

Web & admin

Next.js · React · MUI · dnd-kit · FullCalendar

03

Parsing & docs

Python · pdfplumber · Headless PDF rendering · Excel export

04

Platform

Stripe · AWS S3 · Firebase push · CI/CD

Building something like this?

Let’s scope yours.