Skip to content

CasTyou — Project Roadmap & Implementation Tickets

Generated: 2026-05-20
Source: Features Doc v0.1, Figma (8H8gbRCKp4HWc41tPWaUSK), castyou-backend & castyou-frontend repos
How to use: Each ticket has a [ ] checkbox. Mark [x] when the ticket is fully implemented and reviewed. Claude Code should read this file before starting any feature work.


Current State Summary

AreaStatus
Backend — Auth (email/password, JWT, RBAC)✅ Done
Backend — Talent Profile CRUD (basic fields)✅ Complete (BE-TALENT-004/005 done)
Backend — Producer Profile CRUD (basic fields)✅ Complete (BE-PRODUCER-002 done)
Backend — Jobs CRUD + pagination✅ Complete (BE-JOB-004 done)
Backend — Talent job match feed (jobsForTalent)❌ Missing (BE-JOB-005)
Backend — PetJob model + CRUD + pet-owner match feed❌ Missing (BE-PETJOB-001/002)
Backend — jobListing union resolver for /jobs/:id❌ Missing (BE-JOB-006)
Frontend — Role-dispatched /jobs + match grid + producer table❌ Missing (FE-JOBS-006/007/008)
Frontend — Role+type-aware /jobs/:id detail❌ Missing (FE-JOBS-009)
Backend — Waitlist✅ Done
Backend — Discover Feed (AI scoring)✅ Done
Backend — Search Talents (multi-field filters)✅ Done (BE-SEARCH-001)
Backend — Job Flier Generation (stub)✅ Done (BE-FLIER-001 done)
Backend/Frontend — Enhanced Flier Generation (FlierConfig, AI layers, canvas editor)✅ Done (Epic 31)
Backend — Media Upload (S3 presigned URLs)✅ Done (BE-REEL-001)
Backend — Social Login (OAuth)❌ Missing
Backend — 2FA❌ Missing
Backend — Identity liveness verification❌ Missing
Backend — Application model & pipeline❌ Missing
Backend — Producer shortlist / swipe actions❌ Missing
Backend — AI Matching (9-factor)✅ Done (BE-DISCOVER-003)
Backend — Notifications✅ Done (BE-NOTIF-002 done — new types added)
Backend — Messaging✅ Done (BE-MSG-001 done)
Backend — Groups (full model)✅ Done (BE-GROUPS-001/002 done)
Backend — Pet Owner Profile + Pet CRUD✅ Done
Backend — Agency tier❌ Missing
Backend — CasTars/Bounty reward system❌ Missing
Backend — Admin reporting & appeals (BE-ADMIN-002)✅ Done
Backend — Admin job moderation + broadcast✅ Done
Casting Submission / Auditions (Epic 14) — all backend + frontend✅ Rebuilt as Epic 49 (On-System Casting) 2026-06-29 — BUILT behind CASTING flag (off), pending deploy + verification. See Epic 49.
Frontend — Landing page (Next.js, basic)✅ Done (needs DS migration)
Frontend — Auth pages (Login, Register)✅ Done
Frontend — Admin pages (Users, Jobs, Reports, Profile)✅ Done (FE-ADMIN-002 done — activity logs, merge, analytics, config, concierge added)
Frontend — Design System (Button, Input, etc.)✅ Done
Frontend — Migrate local app components to design system✅ Done (DS-016)
Frontend — Discover Feed UI✅ Done
Frontend — Jobs Board UI✅ Complete (FE-JOBS-005 done)
Frontend — Profile pages (Talent/Producer)✅ Complete (FE-TALENT-006, FE-PRODUCER-002 done)
Frontend — Pet Owner pages (profile, pets list, detail, edit)✅ Complete (FE-PETOWNER-001, FE-PETOWNER-002 done)
Frontend — Reel Editor UI (full-screen editor + queued export)✅ Implemented (Epic 7 v2; FE-REEL-001/002)
Backend/Frontend — Unified Talent Portfolio (MediaItem CRUD, image/video/link, public/private, replaces Reel)✅ Done (Epic 34)
Backend/Frontend — Talent Applications Dashboard (My Applications table + producer shortlists + job status)✅ Done (Epic 36)
Backend/Frontend — Error Boundaries & Crash Reporting❌ Missing
Platform — Performance, Security & Accessibility Hardening (audits + remediation + CI guards)❌ Missing (Epic 38)
Frontend — Job Flier Generator UI✅ Done (FE-FLIER-001/002 done)
Frontend — Groups UI✅ Done (FE-GROUPS-001 done)
Backend — TalentProfile missing fields (gender, username, accent, yearsExp, training)✅ Done (BE-TALENT-004/005)
Backend — TalentProfile Location & Availability extended fields (salary, passport, equipment)✅ Done (BE-TALENT-004/005)
Backend — ProducerProfile missing fields (focus, affiliations, favorites, location, activity)✅ Done (BE-PRODUCER-002)
Backend — Job missing fields (experienceLevel, age, gender, union, languages, roles)✅ Done (BE-JOB-004)
Backend — Messaging (secure DMs between talent and producers)✅ Done (BE-MSG-001 done)
Frontend — Messaging UI✅ Done (FE-MSG-001 done)
Backend — Reel Editor render pipeline (ReelDraft manifest, queued ffmpeg, logo watermark)✅ Implemented (Epic 7 v2; BE-REEL-001/002)
Backend — Reel ready notification (REEL_READY)✅ Implemented (Epic 7 v2; BE-REEL-003)
Backend — Groups activity feed, announcements, events, group job applications✅ Done (BE-GROUPS-002 done)
Frontend — Groups activity feed, events, group apply UI✅ Done (FE-GROUPS-001 done)
Backend — Publication Feed (Post, likes, comments, media pipeline)✅ Done (BE-FEED-001/002 done)
Frontend — Publication Feed (feed screen, media picker, composer)✅ Done (FE-FEED-001/002 done)
Backend/Frontend — Export Pitch (Face Sheet, Full Info Sheet, Presentation Deck)✅ Done (BE-EXPORT-001, FE-EXPORT-001 done)
Backend/Frontend — Producer Folders (Save for Later with custom folders)✅ Done (BE-FOLDERS-001, FE-FOLDERS-001 done)
Backend/Frontend — Profile Analytics for Talent (views, who viewed, saves, trend alerts)❌ Missing
Backend/Frontend — System Posts (CasTyou Official)✅ Done (BE-SYSPOST-001/002/003, FE-SYSPOST-001/002 done)
Backend/Frontend — Bounty Hunter (producer referral bounties, CasTars on hire)✅ Done (Epic 21 — BE-BOUNTY-001, FE-BOUNTY-001 done 2026-06-14)
Backend/Frontend — CAS AI Concierge (social media talent scouting)❌ Missing
Backend/Frontend — Personal Concierge (CasTars-powered casting requests)❌ Missing
Frontend — Onboarding flow✅ Done
Frontend — Notifications UI✅ Done
Frontend — Admin profile page (2FA, password)✅ Done
Backend/Frontend — Admin Impersonation (tab-isolated session + full audit)✅ Done (BE-IMPERSONATE-001/002, FE-IMPERSONATE-001/002/003 done)
Backend/Frontend — Reports & Help (support tickets with thread + notifications)✅ Done (BE-SUPPORT-001/002, FE-SUPPORT-001/002 done)
Backend/Frontend — Admin Job Detail Review (edit with audit reason + deactivate)✅ Done (BE-ADMIN-JOB-001, FE-ADMIN-JOB-001 done)
GraphQL codegen (CC-005)✅ Done

Critical Rule — Design System First

Every component in apps/app and apps/landing MUST be sourced from @castyou/design-system.
If a component does not exist in packages/design-system/src/components/, create it there first, export it from packages/design-system/src/index.ts, then import it in the app.
Never duplicate components locally in apps. Never copy-paste raw Tailwind classes that belong to a reusable pattern.


Critical Rule — Tests Are Not Optional

Every new feature ticket must ship with tests. A ticket is not done until its tests pass.

Backend

  • Every new resolver mutation and query gets a test in src/__tests__/resolvers/<resolver>.test.ts.
  • Every new service function with non-trivial logic gets a test in src/__tests__/services/<service>.test.ts.
  • Use the existing helpers: makeCtx(), makeAuthCtx(), makeDbUser() from src/__tests__/helpers/ctx.ts. Add to the helpers when new model fixtures are needed.
  • Mock external calls (bcryptjs, openai, firebase-admin, etc.) with vi.mock. Never hit a real DB or external API in unit tests.
  • Run npm test before marking any ticket [x].

Frontend

  • Every new page gets a test in src/__tests__/pages/<feature>/<Page>.test.tsx.
  • Every new custom hook with async or complex logic gets a test in src/__tests__/hooks/<hook>.test.ts.
  • Use vi.hoisted() for mock variables referenced inside vi.mock factories (avoids hoisting errors).
  • Mock gqlClient, useNavigate, and Zustand stores — never test with a real network call.
  • Run pnpm --filter @castyou/app test run before marking any ticket [x].

What counts as sufficient coverage

  • All happy paths
  • All explicitly defined error paths (wrong password, duplicate email, invalid input, unauthenticated access, etc.)
  • Any branching logic with more than one outcome (e.g. 2FA enabled vs disabled, union return types)

Epics

Each epic is now its own document. Listed in build order.