Skip to content

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.

  1. 01The problem
  2. 02The solution
  3. 03The product
  4. 04Inside the platform
  5. 05Why it held up

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.

Role and permission model across students, faculty and industry reviewers
How a casting call moves from posted to reviewed
The platform surfaces each role sees, end to end

The product

A single product for casting, learning, and studio operations.

  1. 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.
  2. Invite-only onboardingAdmin-issued invites, role-specific signup flows, and consent steps for minors made account creation deliberate and studio-safe.
  3. Standardized talent profilesHeadshots, galleries, resumes, skills, location, and bios live in one structured profile that is searchable and consistent for casting review.
  4. 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.
  5. Teacher-facing LMSCourses, scenes, templates, folders, published lessons, and class materials replaced a separate Canvas-style workflow with one integrated home.
  6. 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.

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