⤢ Exit reading (F)
📖 Reader
✕ ⛶
StΛ tion
Project Manager
+ New project
↩ Back to project
Open a project to work — the rest stay out of sight (and out of danger). Drag cards to reorder.
0 events
0 est. shots
0 pgs of VFX
$0 gross · $0 net
0 new
0 changed
0 omitted
+ Filter
☰ Group
Group by
▲
then
▲
then
▲
⊟
⊞
✕
▦ Columns
☰ Table
🧾 Strips
🏷 Bids
📊 History
⚡ Rates
Assets
🎬 Sequences
⇅ Go to ▾
+ Add ▾
📑 Reports ▾
+ Add shot
🔢 Renumber IDs
🪦
🎬 Sequences
✨ AI descriptions
\ 📄 Script
⇧F ⛶ Focus
Add
✕
💾 Save
⚙ Setup
Rows
S
M
L
lines
🔍
−
100%
+
USD
CAD
Both
Net %
→CAD
🎭 SCENARIO
💾 Save as budget
✕ Clear
Viewing only · your editable budget stays in place
Edit this pass
Return to editing
📜 Viewing version: — read-only
Restore this version
Back to current
RECOVERY
Bring back only what you choose Close
Review a checkpoint, then choose the individual fields to recover.
Field Current Saved
🏷 Bid vendors…
Apply
🛠 Crew breakdown
Delete
Clear selection
Script
✏️ Highlight
Asset
⤢ Resize
💬 Callouts
🌙 Dark
💧 WM
✕
📊 Cost history
⚡ Rates
R toggles
✕
🎬
Create a show, then drop in a highlighted script PDF.
Scriptation → Share → Annotated PDF · season & episode are auto-detected
🏭
No assets indexed for this show yet.
In the left panel, point the storage root at the folder that holds your show tree (built by code name), then 🔄 Scan . Everything — scripts, concepts, previs, resumes — appears here organized by episode and department, even files on an unplugged drive.
📅 Schedule
VFX + to confirm To confirm only All parts
☰ Days
▦ Calendar
⬆ Import one-liner
⬇ PDF calendar
📅 Subscribe
🗓 Prep
📄 Memo PDF
📅 Subscribe
★ Mine
📅 Calendar
🎞 Strips
⇪ Import
All episodes
🎬 VFX only
📆 Calendar feed…
🖨 Print
📅
No shooting schedule imported yet.
Hit ⇪ Import and drop in the AD's one-liner or shooting schedule (Movie Magic / EP export). I'll parse the strips, link each scene to your breakdown shots, and plot a calendar of exactly which days your VFX films — scene parts and all. Then subscribe your Google Calendar or Fantastical to the feed.
🎬 Shots
👤 Characters
⛰ Locations
🧰 Assets
🎨 Style
🎧 Audio
📄 Script
⇩ Seed scenes from script
+ Shot
+ Shot from selection
✨ Harvest cast & locations
☰ List
▦ Board
No text
Slugline
Description
Slugline + description
+ Split cost
Break this shot's rate into category components — each row is
money you can pull in a 🎭 Scenario ("without Lewis Arm"). The Gross In becomes the sum.
+ Add line
Total: $0
⇤ Collapse to one
Cancel
Save
✨ Match episodes
Confident calls are tagged automatically (after every scan and on the mail timer).
These are the folders the breakdown couldn't settle — pick an episode, Season (show-wide), or leave them. Files get a
virtual episode tag (nothing moves on disk; the block follows the episode).
Cancel
Apply ticked
🔗 Share link
Anyone with the link can open this one file from any
network — no login, no Tailscale. Set an expiry; add a password for anything sensitive.
Every view and download is logged.
Expires
1 day 7 days
30 days 90 days Never
Max downloads
Create & copy link
Links for this file
All links in this show
Close
🎭 Scenario
Untick a category and its money leaves every total —
split components drop out of mixed shots, whole shots in that category park, and matching
assets/fringes drop. Nothing is written until you save it as a budget.
Reset
Close
Apply
Entity
Name
Description (who/what — feeds generation prompts)
Gallery — contact sheets, refs, voice samples · click + or drop files
+ Add files
✕ Delete
Cancel
Save
📜 Script
🎬 Breakdown
💰 Budget
select or DRAG anything into the meeting → excerpt note that links back
✎
H ✏️ Highlighter
S 🎬 Sequence
V 🎥 Previs
A Asset
C 📷 Scan
N 📝 Note
📑 Scenes
🎞 Layers
L 🏷 Markup
B 🎞 Seq lines
\ 🧾 Strips
▦ Table
🎨 Categories
📄 Changes
⬇ Export PDF
⏱ Screen time
➖
100%
➕
📖 Page
🖥 Reader
🌙 Dark
💧 WM
+ New meeting
N 📌 Pin note
🗒 Callouts
This meeting
All meetings
🧾 Summary
🧾 Breakdown
Strips
Table
✕
⤒ Top
‹ Prev
Next ›
End ⤓
Go to
⊞ Facing
📜
No script uploaded for this episode yet.
Upload a clean script PDF and highlight it right here — swipe text, tag the VFX, add shot counts and notes. New drafts carry your highlights forward automatically.
⬆ Upload script PDF
⬇ Marked-up PDF
Downloads a copy of this draft with your VFX highlights burned in. The original file is untouched.
Watermark (blank = none)
Show the VFX type in the margin beside each highlight
Include department notes
Cancel
Download PDF
📤 Upload script drafts
Confirm where each file lands before it's filed — detected from the filename, fix anything that's off. Drafts of the same episode carry highlights to the newest one automatically.
File Show Season Episode Draft label Scriptation
Cancel
Upload
Upload draft
Episode title (optional)
Draft label
Cancel
Process
Highlight color rules
A color rule overrides the AI for any highlight in (or near) that color.
Leave a menu on “AI decides” to keep that field automatic. Rules apply to future uploads.
+ add color
Cancel
Save rules
Settings
🖥 General
🎬 This show
👥 People
🔌 Connections
📧 Email
💾 Backups
Add people, set roles and PINs, and share shows in Users & Access. Logins turn on the moment anyone has a PIN — set YOUR PIN there to activate them.
👥 Users & Access
🔁 Switch user
🔑 Change my password
🔐 Encrypted cloud backup
The whole app (scripts, breakdowns, attachments, code) is encrypted with your passphrase before it touches the folder below — put the folder inside Google Drive / iCloud / Dropbox and the sync client uploads only unreadable ciphertext. Auto-backs up daily while the app runs. Write the passphrase in your password manager — without it, backups cannot be opened. Ever.
Backup folder 1 (primary — e.g. Google Drive)
📂 Browse…
Suggest
Backup folder 2 (redundant — a different cloud, e.g. iCloud or Dropbox)
📂 Browse…
Suggest
Backup passphrase
Auto every
min
Keep
backups
Verify
Off Each launch Daily Weekly
🔐 Back up now
✓ Verify latest
⬇ Pull latest
Auto-backup only writes when data actually changed , so a tight interval is cheap (files are small). Two folders on different clouds means one provider failing can't lose you. Each backup also drops a plain, readable Station_data_latest.json beside it — recoverable even without this app. Store the passphrase in your password manager — without it, backups cannot be opened. Ever.
🛟 Disaster export (app-independent, human-readable)
📤 Download all data (JSON)
Every breakdown, budget, sequence & schedule as plain JSON — openable in any text editor, recoverable without this app.
Cancel
Save
Season sequences
Every 3-letter sequence code used this season. Codes are unique per season — a duplicate is rejected.
+ Add
Done
Columns
Drag ⠿ to reorder · uncheck to hide. Layout is remembered on this computer.
Custom columns — your own fields (text, checkbox, dropdown, number, currency, %, formula)
+ Add custom column
Saved views (columns + filters + grouping + sort)
+ Save current view…
Reset to default
Done
🖨 Print setup
Columns, filters, grouping & sort come from your current view (set them with ▦ Columns). This controls the page.
Title — blank = auto (show · episode · Breakdown/Budget)
Orientation
Landscape Portrait
Paper
Letter A4 Legal
Print columns — check to include · drag to reorder · saved with templates
▦ Match my table
↺ Reset to default
Cover note — BIG & BOLD on the top sheet (leave empty for none)
Footer note — optional, printed at the bottom of every page
Watermark — optional, big diagonal text across every page
Saved templates for this show
+ Save current setup as template…
⬇ Excel
⬇ CSV
Cancel
🖨 Print now
🔬 Budget diff
🖨 Print
Close
New custom column
Column name
Type
Dropdown choices — one per line
Delete
Cancel
Save
⇅ Sync a pass
Carries the source draft's markup — and its breakdown/budget rows — onto the target draft. Nothing merges and nothing is overwritten: the result lands as a new pass you can rename or archive.
From
To
Cancel
⇅ Sync
✕
✕ This item
auto-classify ▾
⊕ Split
↕ Runs
⇊
↺
Shots
$ Gross
Status
Complexity
◆ Asset
+ link ▾
Description
Note
🎬 Sequence
↩ Go to line item
⤢ Resize
📷 Scan
⧉ Separate shot
◆ Pin on page
🗑 Delete
📋 Copy
⋯
Cancel
Save
👥 Users & Access
Logins stay OFF until someone has a PIN. Set YOUR PIN to turn logins on for everyone — then each person picks their name and enters theirs. Producers see only the shows shared with them; “view” can read but never change.
+ Add person
Done
🎬 Shows for
Per show: no access, Read (sees everything, changes nothing) or Read & write. Changes save instantly.
Done
Assign to sequence
+ New
Cancel
Assign →
📁 New folder
Start the name with today's date
Cancel
Create
Changes
⤢ Full report
🔀 Side by side
✕
Draft changes
🖨 Print report
Done
Review changes before sending
Your breakdown edits (status, cost, complexity, vendor, shots) are never touched. The script only refreshes text, page, scene and length.
Cancel
Apply to breakdown
Update the script from the breakdown
Writes your breakdown edits — VFX type, note, shots, length — back onto the matching highlights. A script version is saved first so you can roll it back.
Cancel
Update script
🪦 Graveyard
Hard-deleted shots. Restore recreates the highlight + breakdown row with all field values (attachments/notes didn't survive the delete).
Close
📤 Send handoff
To
Note (optional)
They get the data + highlight positions — your script PDF never leaves.
Cancel
📤 Send
⚡ BOTE quick figure
Shots × one number. For the phone-call answer, not the record.
0 shots ×
$/shot
$0
Done
📊 Cost history
📌 Pin
✕ Close
What a category actually cost — low / average / high per shot —
read straight out of saved passes, so you never have to open an old budget to answer it.
Search work
Group by
Category
Category + Complexity
Complexity
Sequence
Only category
Episodes
All
None
Numbers
live working numbers
latest saved pass
latest published pass
pick passes per episode
⇩ Copy fringes
✕ Close
Fringes are boilerplate — payroll, handling, contingency — so take them
off another episode of this show instead of retyping. Percentages keep their basis; flat amounts keep their
number. Anything already on this budget is greyed out and can't be doubled.
Select all
None
⇩ Copy selected
Season assets
+ New asset
✕ Close
One strip per build: the episodes it's in and the shots it covers underneath,
the money on the right. A share of auto = equal split of what the fixed amounts leave · a number = that episode pays
exactly that. Everything saves as you edit.
Budget Top Sheet
🤖 This bid factors in AI
USD
CAD
Both
Include cost-by-sequence page
Include cost-by-category page
Show all-in $/shot average
🖨 Print top sheet
🖨 Print budget (cover + detail)
Done
AI Reduction Passes
🖨 Print passes
Done
🏷 Vendor bidding
✕
Send every vendor the same template so the bids come back apples to apples. Re-import their filled CSVs — each number lands quietly on its shot (expand via the Bids column), no column explosion.
1 · Export a bid template
⬇ Template CSV
1b · Send locked script pages
Only the scenes for these shots are shown — every other scene is truly redacted (text removed). The vendor's name is watermarked across every page, and it's locked with AES-256: needs the password to open, can't be printed or copied.
selected shots only
allow printing
🔒 Build locked PDF
2 · Import a filled bid
⇪ Drop the vendor's filled CSV here (or click)Vendor name is read from the template automatically
3 · Compare
🖨 Comparison sheet
Done
🗣 New meeting
Type ✎ Edit list
Title
Cancel
Create
Saved budget
✕
🖨 Print
↺ Restore this version
Close
📆 Shoot calendar feed
✕
A live feed of your shoot days with VFX scenes flagged. Fantastical can subscribe to the URL and auto-update; Google Calendar can't reach your Mac, so use Download to import (or connect Google below to push directly).
Feed only the days my VFX films
Subscription URL (Fantastical → New Calendar Subscription)
Copy
⬇ Download .ics
Google Calendar (optional, two-way)
📊 Budget statistics
Costed shots amortized into an average $/shot. Use these to sanity-check bids and back-of-envelope numbers.
Done
Attachments
Add files (storyboards, previz, reference)
Done
📈 Season at a glance
Current-table numbers per episode (whatever pass is open on each). Omitted shots excluded; Hold shots count as shots but not money. Gross = standard VFX; AI Gross = with each shot's AI reduction applied. ★ = that episode quotes its designated CURRENT budget; episodes without a ★ quote the live table.
Done
⏱ Character screen time
Script-time estimate from each episode's newest draft: a scene counts when the character speaks or is named in its action; the share is measured in page-eighths (1 page ≈ 1 minute of screen time). Comma = aliases, e.g. RoboCop, Robo, Murphy .
Run
Done
🏷 Vendor bid packet
A clean Excel of every shot tagged to one vendor — scope, descriptions and assets. No internal numbers unless you tick them in.
Vendor
Include an assets section (linked builds, no prices)
Include MY rates — for your eyes, never the vendor copy
Cancel
⬇ Export .xlsx
‹
📜 Script
›
✕ Close
Description of work
✨ AI
On-set needs
General notes
GenAI alternative
AI approach
— none (full VFX) — Partial AI Aggressive AI Full GenAI (attempted)
Risk if it fails
— Low Med High
GenAI plan
🗣 Meeting notes
Department notes & meeting log
Add
Attachments — storyboards, previz, reference (click ✏️ to draw on an image)
+ Add files — click or drag images / PDFs here
✏️
Size
↩ Undo
Clear
Cancel
Save annotated copy
New show
Type
📺 Series — seasons & episodes (101, 102…)
🎬 Feature / short — one script, no episodes
Real title
Code name (exports, storage, and documents use this)
The app shows the real title; everything that leaves the app travels under the code name. Leave blank to use the real title everywhere.
Cancel
Create show
📂 Choose a folder
⬆︎ Up
Cancel
Use this folder
🧹 Tidy loose files
Files sitting bare at the show root, matched by your 🧠 auto-file rules. Renamed DATE_RULE_name (date = the file's own arrival date). Untick anything to leave it alone.
Cancel
Tidy
🎨 Categories & Colors
Category presets…
⤵ Load
💾 Save set…
✕
One color per VFX type — keep it basic (CG, Screen Comp, FX…), detail goes in each shot's description. This is also your breakdown Category list, so nothing competes. Blank name = the AI guesses. The small CODE box is the short label on each color's pill (auto-filled from the name — edit it to override); the cx dropdown sets a default complexity for that type — assigning the type snaps a shot's complexity (and its BOTE tier) to it. Drag ⠿ (or ▲▼) to reorder. While highlighting, clicking a color picks its type.
+ Add type
Cancel
Save
📥 File these where?
Remember: files whose name contains
always go here
Cancel
File them
🧠 Filing rules
Learned destinations. When files are dropped in (and, later, when email intake runs), the first matching rule pre-fills where they go. Rules are per-show.
Done
✎ VFX type list
This is the master list of VFX types — it feeds the palette, the highlight popup, and the breakdown's Category column. Rename, reorder (▲▼), delete, or add. Renaming here does not retag existing highlights or breakdown rows.
+ Add type
Cancel
Save list
‹ Prev
↗ Full size
🔗 Link to shot…
📂 Open in Drive
Next ›
✕ Close
0 shots
Assign →
Clear
✕