Ghostlight v0.1.4: The Casting Pipeline
v0.1.4 rebuilds the heart of Ghostlight: the production page is now a casting pipeline. Open a show and you see the funnel itself — Call, Submissions, Sessions, and what's next — each a stage with live counts and warnings. Around that, this release separates the show from the casting call, puts a personal note inside the confirmation email, makes actor profiles private by default, and fixes a deadline bug I owed an apology for. As I write this, a company is running auditions through it this weekend — a panto, forty-eight submissions and counting.
What this is
Ghostlight is casting and audition management for theatre companies — in preview, actively developed, with real productions casting through it. The last two releases built the pieces: the scheduler, the audition-day module, Ghostlight AI for drafting calls. This one arranges them into a shape that matches how casting actually flows.
The pipeline
Your production as a funnel
- The production overview is now a stage strip — Call → Submissions → Sessions → NEXT — with live counts on every tile and one shared source of truth, so desktop and mobile can't disagree
- The Submissions tile expands into a by-role breakdown: submitted and shortlisted per role, right on the overview
- The Sessions tile counts people, not slots — how many actors you're seeing across your sessions, with a response roundup: confirmed, invited, declined, and reschedule requests that need your attention
- Warnings live where you'd act on them — shortlisted actors not yet booked, a deadline approaching, a call still in draft
- NEXT is the day-of stage: what's about to run, surfaced without digging into the scheduler
The show is not the call
Details and the casting call, separated
- Show facts — credits, creative team, schedule, venue — live on a Details page with per-section saves, so editing the rehearsal schedule can't clobber someone else's edit to the synopsis
- The Call page owns everything an actor sees: audition dates, requirements, compensation, the deadline, and publish/unpublish
- One shared call card renders the posting everywhere — what you preview is what actors browse
- Unpublished calls now have a real draft preview: your team sees the posting exactly as it will appear, behind the same 404 everyone else gets
- Team & access management moved to its own page — inviting a stage manager is a day-one need, not a casting stage
The emails actors get
A note from your team, inside the confirmation
- Every submission gets a confirmation email; you can now write a personal note that lands inside it — next steps, audition-day details, a welcome
- You author it right on the Call posting, with a live preview of the exact email actors receive — the preview and the sender share the same code, so they can't drift apart
- One email, not two: your note is part of the confirmation, not a second message competing with it
- Email verification is now a button you click, not a link that fires on open — corporate mail scanners were consuming one-time links before humans ever saw them
Actor privacy
Discoverable is now opt-in
- New actor profiles default to unlisted — visible to companies you submit to and through your shareable link, but not listed in the talent directory unless you choose to be
- The talent directory is now for casting teams only; existing actors who were listed got an in-app notice explaining the change and how to opt back in
- Resume files are hidden from anonymous visitors — community theatre resumes follow the paper convention of personal phone numbers in the header, and that shouldn't be one Google search away
- A round of access-control fixes from an ongoing security review: tighter rules on who can view submissions, activity logs, and production data. I've fixed everything I can find, and I keep looking
An apology to the Pacific timezone
Until this release, a submission deadline of "August 1" actually closed at 11:59 PM UTC — 4:59 in the afternoon in Vancouver. An actor could be told the call was open, follow the instructions, and get rejected hours before the day ended. That's fixed properly now: deadlines close at end-of-day in the most generous timezone on Earth, every surface uses the same close rule, and no actor anywhere is cut off before their local midnight. Calls now stay open slightly longer than before, never shorter. If your call showed "open" a few extra hours after this shipped — that's why.
Why it matters
The old production page was a grid of features. The new one is a picture of your casting process — where the pool stands, who's confirmed for the weekend, what needs doing next. That reframing sounds cosmetic and isn't: when the tool mirrors the way a casting director already thinks, the admin disappears into the workflow. Which is the whole point of this product.
The privacy defaults matter for a different reason. Ghostlight asks actors to trust it with headshots, resumes, and contact info. Defaulting to discoverable was the wrong call, and quietly fixing it wasn't enough — every affected actor got told what changed and how to reverse it. Trust is a feature; it ships like one.
Under the hood, this release also carries the plumbing for per-production pricing — built, tested, and switched off while the pilot runs free. I'd rather have the machinery ready and dormant than bolt it on under pressure later.
What's next
The Casting stage — sending role offers and tracking acceptances into a final cast list — exists behind the curtain but isn't wired for real use yet, so it stays hidden rather than promising a flow that isn't there. That's the next stage to light up. Beyond it: richer pipeline tiles you can act on directly, and support for a production running more than one call at a time — a general audition and a crew call are different animals, and the model should say so.
The light stays on.