Skip to content

CO.1: Counselor Onboarding

Summary

Counselors with incomplete profiles are routed to onboarding after authentication. The flow collects role-specific profile data before allowing normal dashboard use.

Role

  • Primary: Counselor
  • Secondary: System

Entry Point

  • URL: /onboarding
  • Automatic redirect from app entry or dashboard when profile setup is incomplete.

Preconditions

  • User is authenticated.
  • Current user profile requires onboarding.

Steps

  1. User authenticates through Supabase.
  2. App loads the current Compath profile.
  3. Post-auth routing detects missing onboarding fields.
  4. User completes counselor profile information.
  5. Frontend saves profile updates.
  6. User is routed to the dashboard.

Diagram

Edge Cases

  • Profile load error: App shows a retry state before routing.
  • Bypass mode: Dev auth bypass can skip normal protected-route behavior.
  • Role differences: Counselor and client onboarding share the page but branch by account type/profile state.

Current Implementation Notes

  • Frontend: frontend/src/app/pages/onboarding.tsx, frontend/src/shared/lib/post-auth-routing.ts

Screenshot Status

  • Captured with Playwright on 2026-04-17 using dev-only onboarding preview data:
    • Role selection: role-selection.png
    • Counselor profile empty state: counselor-profile-empty.png
    • Counselor profile ready-to-submit state: counselor-profile-ready.png