daydream labs

Case study · Creative industries

Creative production platform, four user roles

Our role
Full design and build
Sector
Creative industries
Status
Live at yashtalent.com
The Yash Talent Assemble screen, showing a London Fashion Week shoot with all seven crew roles filled and every booking confirmed

The brief

Casting a production means chasing individual freelancers across email, Instagram and WhatsApp, then rebuilding the same information in a call sheet. Yash needed to collapse that into one place — and to serve four genuinely different users without becoming four different products.

The hard part

A creative, an agency representing creatives, a client booking them, and an administrator all need different navigation, permissions and data from the same underlying system. Role-based access runs from registration through to what each person can see on a job.

What we built

  • Assemble. The feature that defines the product: one brief, one crew. Set the job once, add every role you need, fill each with verified talent, and send a single invitation the whole team sees.
  • Talent profiles with a diary. Portfolio, verified badge, credits and a two-month availability calendar, with a booking panel that follows you down the page.
  • Browse and filter. Creatives and agencies, filtered by category, location and sort order.
  • Private agency rosters. Agencies represent their own creatives and manage them as a group.
  • Messaging, bookings and reviews. Direct messages, a booking lifecycle, and reviews tied to completed jobs.
  • Admin tooling. User management, category taxonomy and platform oversight.

Testing

The build carries a Playwright end-to-end suite covering the registration and booking journeys for each role, because a four-role permission system is exactly the kind of thing that breaks quietly.

The product

The Yash Talent homepage, headed "The platform built for the creative industries" above Book talent and Join as talent buttons, beside a close-up photograph of a make-up artist working on a model

Built with

  • Next.js 14
  • TypeScript
  • Supabase
  • PostgreSQL
  • Supabase Auth
  • Supabase Storage
  • Online Payments Platform
  • Resend
  • Google Cloud Run
  • Playwright

Next case study

CardPrism

AI card scanning, Android app

Read it →