Truthful Acting · Case Study
A multi-sided casting, learning, and studio operations platform.
Product definition, design, and production code across casting, payments, the talent directory, and a teacher-facing LMS.
Invite-only onboarding, secure media uploads, transactional email, and role-scoped access control made one complex system feel manageable for students, teachers, admins, and industry professionals.
The problem
Two hard things at once, run on spreadsheets and email.
Truthful Acting had two complex operations running in parallel: helping students grow through classes and helping vetted industry professionals discover, review, and cast talent.
Before the platform, those workflows lived across spreadsheets, shared drives, Discord threads, and long email chains. Headshots were hard to track, casting calls were forwarded by hand, enrollment and payments sat in separate documents, and the learning experience had no integrated home of its own.
The real challenge was not just digitizing tasks. It was turning casting, studio operations, and a growing LMS into one system that stayed legible to students, teachers, admins, and industry users.
The solution
One system. Four roles. One clear next step for each.
I designed and engineered one invite-only platform where each role sees the part of the system that matters to them, without carrying the complexity of the whole thing.
Students build a standardized profile once, apply to casting calls, track status, manage payments, and access course materials in the same place. Teachers author and deliver course content through an integrated LMS instead of managing a separate learning stack. Admins manage approvals, enrollment, payments, and visibility. Industry users can discover vetted talent and review applications without touching private student data.
That clarity depended on the foundation: row-level security scoped to every role, invitation-only signup, secure media uploads, and transactional email woven through onboarding, applications, and studio operations.



The product
A single product for casting, learning, and studio operations.
- Role-scoped architectureStudents, teachers, admins, and industry professionals each get a tailored experience, with permissions enforced by Postgres row-level security rather than hidden UI states.
- Invite-only onboardingAdmin-issued invites, role-specific signup flows, and consent steps for minors made account creation deliberate and studio-safe.
- Standardized talent profilesHeadshots, galleries, resumes, skills, location, and bios live in one structured profile that is searchable and consistent for casting review.
- End-to-end casting workflowsCalls move from draft to archive in one system while students apply, industry shortlists, and admins maintain visibility over the process.
- Teacher-facing LMSCourses, scenes, templates, folders, published lessons, and class materials replaced a separate Canvas-style workflow with one integrated home.
- Studio operations and paymentsEnrollment records, per-student notes, payment tracking, and admin dashboards turned the business side into part of the same product.
Inside the platform
How the product made a complex studio feel usable day to day.
Talent directory and standardized profiles
Students and talent could present one consistent profile, while industry reviewers could scan, shortlist, and move deeper without chasing files across email threads.
Casting calls and application review
Casting calls moved from fragmented outreach into one moderated workflow, with students applying in-context and admins keeping visibility over what was open, closed, or in review.
Teacher-facing LMS and course library
The learning side stopped living in a separate tool. Teachers could manage course content, reusable templates, and the student-facing course experience inside the same product.
Admin operations, payments, and transactional email
Admin workflows covered the operational layer too: billing visibility, student oversight, and automated email touchpoints that kept the system responsive without turning staff into manual coordinators.
Why it held up
The architecture turned studio complexity into trust.
The hardest part of the product was not the interface. It was making sure each person could trust what they were seeing, what they could do, and what would happen next.
That meant engineering the permission model as part of the product itself: access scoped by role at the database layer, approval-gated visibility, secure file handling for media and documents, and invitation flows that kept signups controlled and auditable.
When casting, course delivery, payments, and studio operations all run through one system, the real design win is not showing more. It is making a complex operation feel calm, obvious, and reliable from every angle.
- 91 row-level security policies
- 24 tables with RLS enabled
- 32 migrations
- 41 routes
- 4 roles