# Onboarding UX Audit — 2026-02-26

## User Journeys Reviewed

### 1. Landing Page → Signup (`/` → `/auth/signup`)
### 2. Contractor Onboarding (`/contractor/signup`)
### 3. Worker Onboarding (`/worker/signup`)
### 4. Dashboard First Experience (`/dashboard`)
### 5. First Job Post (`/contractor/post-job`)
### 6. First Job Application (`/worker/jobs`)

---

## Friction Points Found

### 🔴 HIGH PRIORITY (Fix Now)

**F1: Dual signup path creates confusion**
- Landing page has two CTAs: "I'm Hiring" → `/contractor/signup` and "I'm Looking for Work" → `/worker/signup`
- But there's ALSO `/auth/signup` which has its own user type selector
- Contractor signup page has its OWN auth step (step="auth") that duplicates `/auth/signup`
- **Risk:** User signs up via `/auth/signup` as contractor, gets redirected to `/contractor/signup` which shows ANOTHER auth form
- **Fix:** Skip auth step in `/contractor/signup` and `/worker/signup` when user is already authenticated (partially done but needs verification)

**F2: Contractor signup demands ABN upfront**
- After auth, immediately asks for ABN (11-digit number)
- Many small contractors don't have their ABN memorized
- If they don't have it handy → they abandon
- **Fix:** Make ABN optional at signup, add to profile checklist as "Complete your profile" item

**F3: No welcome/orientation after signup completion**
- After contractor confirms company details → straight to dashboard
- No "Here's what to do next" guidance
- Dashboard shows empty stats (0 Active Jobs, 0 Matches) which feels dead
- **Fix:** Add a welcome modal/card for first-time users with 3 clear next steps

**F4: Phone number required but Australian-only validation**
- Workers from hostels on WHV will have international phone numbers (+44, +353, etc.)
- Current validation rejects anything that's not 04xx or +614
- **Fix:** Accept international numbers for workers (keep AU validation for contractors)

### 🟡 MEDIUM PRIORITY (Fix This Week)

**F5: Worker signup is 10 steps long**
- auth → method → voice/trade → experience → location → availability → certs → phone → review
- That's 8-9 screens AFTER account creation
- Voice shortcut exists but still requires confirmation of each field
- **Fix:** Collapse experience + availability into one screen, make certs optional (skip button)

**F6: No progress persistence in worker signup**
- If browser refreshes mid-signup, all progress is lost
- State is entirely in React useState
- **Fix:** Save partial progress to localStorage or Supabase after each step

**F7: Dashboard doesn't guide to first action**
- Contractor: "Post a Job" card exists but competes with company profile, contacts, analytics
- Worker: No clear "Apply to your first job" prompt
- **Fix:** For zero-job users, make the Post a Job CTA the hero element, dim secondary cards

**F8: Job posting flow is 5 steps + voice option**
- Good feature (AI writes the post) but could be faster
- Voice-to-job is excellent for construction workers
- **Fix:** Pre-fill location from company profile, reduce to 3 core steps

### 🟢 LOW PRIORITY (Backlog)

**F9: No email confirmation of signup**
- Autoconfirm is enabled (good for speed) but no welcome email is sent
- Missed opportunity to set expectations
- **Fix:** Send welcome email with "what happens next" guide

**F10: Profile completeness checklist exists but is passive**
- Shows up on dashboard but no reminders/nudges
- **Fix:** Add a progress ring to the header or bottom nav

**F11: No social proof on signup pages**
- Landing page has it but signup forms don't
- **Fix:** Add "Join 50+ contractors" or testimonial snippet to signup

---

## Optimization Plan

### Phase 1: Critical Fixes (Today)
1. ~~F4: Accept international phone numbers for workers~~ → BUILD NOW
2. F3: Add first-time welcome card to dashboard → BUILD NOW
3. F1: Ensure auth step is properly skipped when already logged in → VERIFY

### Phase 2: Flow Improvements (This Week)
4. F2: Make ABN optional with "Add later" skip option
5. F5: Collapse worker signup steps (combine experience+availability)
6. F6: localStorage persistence for signup progress
7. F7: Dashboard hero CTA for zero-activity users

### Phase 3: Polish (Pre-Scale)
8. F8: Pre-fill job posting from company profile
9. F9: Welcome email on signup
10. F10: Active profile completeness nudges
11. F11: Social proof on signup forms

---

## Measurements Needed
- Signup-to-first-job-post time (contractor)
- Signup-to-first-application time (worker)
- Signup abandonment rate by step
- Profile completion rate

*Audit by Builder 🔨 — 2026-02-26*
