The business side of working on set
Callsheet Companion
A local-first production, time, money, gear, document, and relationship system built for freelance film and television crew who move from job to job.
- Client
- SwiftUI on iOS
- Data
- SwiftData models with backup and optional CloudKit sync
- Integrations
- Calendar, location, notifications, camera, photos, and PDF
- Outputs
- Invoices, time cards, tax summaries, mileage logs, and CVs
The project
What it does
Callsheet Companion starts with the actual unit of freelance crew life: a production made of shoot days, rates, kit, mileage, expenses, contacts, paperwork, and payment status. It handles overtime and golden-time calculations, tracks what is still owed, and turns the same underlying records into invoices, time cards, tax material, and a work-history CV.
The app keeps the working set on the device through SwiftData, then layers in first-party Apple services where they help. EventKit can place shoot days on a calendar, Core Location supports set and mileage context, local notifications chase late payments, and PDF generators create documents without shipping production data to a third-party service.
Built around
Product principles
Built from a real shoot day
Call, wrap, day rate, overtime, kit, mileage, per diem, bumps, meals, and turnaround share one record.
One source for every deliverable
Invoices, time cards, tax summaries, mileage exports, and CVs derive from the same production history.
A local production vault
Documents, receipts, contacts, gear, and deal information stay organized around the job that created them.
Quiet operational help
Calendar events, payment reminders, suggestions, and aging views surface the next useful action.
System architecture
How the system moves
SwiftData is the center of the app. Views write structured production records, domain utilities calculate money and generate documents, and Apple integrations project the same source of truth into calendars, notifications, files, and optional sync.
Shoot day to paid record
-
01 · Capture
Jobs, days, rates, and receipts
SwiftUI forms and quick-log tools capture the production's operational facts.
-
02 · Store
SwiftData production graph
Productions connect to shoot days, contacts, expenses, gear, rentals, and documents.
-
03 · Calculate
Earnings and tax domain
Dedicated utilities compute overtime, golden time, totals, reimbursements, and gear ROI.
-
04 · Integrate
Calendar, location, reminders
First-party services add schedule, distance, document capture, and local follow-up.
-
05 · Deliver
Invoices, cards, PDFs, and CSV
Generators turn the source records into production-ready business documents.
-
06 · Protect
Backup, vault, and optional sync
Local storage remains primary, with export, restore, and CloudKit paths around it.
Financial calculations live outside the views so the dashboard, invoice, time card, and tax surfaces all read the same numbers.
Keep exploring