---
created: 2026-03-12
source: Rivet
tags: [agent-archive, rivet]
---

# RateRight Full UX Audit
**Date:** Feb 15-16 2026 (overnight draft)
**Auditor:** Rivet (based on QA session with Michael)
**Principles:** SIMPLICITY + USER EXPERIENCE. No feature bloat.

---

## Overview

Michael conducted live QA testing and found 18 issues ranging from critical bugs to UX friction. This audit synthesizes those findings into a prioritized action plan.

**Key Insight:** Many "bugs" weren't missing features — they were **discoverability issues**. Features exist but aren't visible or obvious enough.

---

## CRITICAL BLOCKERS (Must Fix Before Launch)

### 1. CSRF Token on Payment Flow
**Status:** Builder says FIXED (21:45)
**Issue:** Payment fails with "Invalid or missing CSRF token"
**Root:** Token expired while auth session persisted
**Fix:** Auto-refresh CSRF token in csrfFetch()
**Verify:** Test payment flow after hard refresh

### 2. Seed Data Contamination  
**Status:** Builder partially fixed (updated name only)
**Issue:** Michael's real email was used in seed data, so he got a fake profile
**Remaining:** worker_profiles table still has fake trades, experience, location
**Fix:** Wipe seed worker data from Michael's account OR create fresh account flow
**Note:** Seed scripts now use test emails (good)

### 3. Match View Shows Stale Data
**Issue:** Contractor sees seed data (Worker88, Liverpool) not Michael's actual submission
**Cause:** Profile name updated but worker_profiles table not updated; display_name still "Worker88"
**Fix:** Match view should pull CURRENT profile + worker_profile data, not cached seed data

---

## HIGH PRIORITY UX FIXES

### 4. Worker Edit Profile — Missing Name Field
**Issue:** Can pick trades, experience, certs — but NO field for actual name
**Fix:** Add first name + last name fields to edit profile
**Priority:** High — basic profile info

### 5. No Cert/Card Upload on Profile
**Issue:** Workers can't upload photos of white card, trade certificates
**Fix:** Add file upload (image/PDF) for certifications
**Impact:** Critical for verification AND onboarding pack

### 6. One-Tap Apply — No Confirmation
**Status:** Builder says exists but Michael couldn't find it
**Issue:** "Apply with One Tap" — no confirmation dialog
**Fix:** Make confirmation OBVIOUS — modal with job details, Yes/No buttons
**Note:** If feature exists but user can't find it, that's still a UX bug

### 7. No Back Button
**Status:** Builder says exists
**Issue:** Michael couldn't find it after applying
**Fix:** Back button must be VISIBLE and OBVIOUS on all screens
**Suggested:** Fixed bottom nav or clear "← Back" button in header

### 8. Job Detail Panel UX Issues
**Issues:**
- Can't scroll on desktop (content cut off)
- Too sparse — missing company name, hours, duration, full description
- Bottom sheet pattern doesn't work well

**Fix:** 
- Replace bottom sheet with FULL PAGE job detail view
- Show ALL fields: company, description, hours, schedule, rate, start date, duration, location
- Make it scrollable

### 9. No "Browse Workers" for Contractors
**Issue:** Contractors can only see workers who applied to THEIR jobs
**Gap:** No proactive browsing/headhunting
**Expected:** Browse all available workers, filter by trade/location, invite to apply
**Priority:** High — major feature gap

---

## MEDIUM PRIORITY IMPROVEMENTS

### 10. ABN Lookup — Not Saving to Profile
**Status:** Builder says FIXED (saves logo_url now)
**Issue:** Logo appeared briefly but didn't persist; company details not saved
**Verify:** Check if handleConfirm now properly writes all ABN data to companies table

### 11. Profile Completion Flow Missing
**Issue:** After email/password signup, no prompt to complete profile
**Fix:** Post-signup wizard — name, phone, trade, certs, avatar, location
**Include:** Voice input option for bio/description

### 12. PWA App Icon Wrong
**Status:** Logo files downloaded to /public/logos/
**Fix:** Update manifest.json, site.webmanifest, favicon with correct RateRight logo
**Sizes needed:** 192x192, 512x512, favicon.ico

---

## NEW FEATURES (Post-Launch or Builder Bandwidth Permitting)

### 13. Auto-Research Contractor Profile
**Idea:** After ABN lookup, auto-research company via Brave Search
**Flow:** ABN → business name → web search → extract description, services, logo, website
**Benefit:** Near-zero-effort contractor signup
**Complexity:** Medium — requires Brave API + AI extraction

### 14. Profile → Onboarding Pack Sync (One-Way)
**Rule:** Profile feeds pack. Pack NEVER feeds profile.
**Why:** Privacy trust — onboarding pack promises "we don't save your data"
**Implementation:** Worker uploads certs to profile → pre-fills onboarding pack
**DO NOT sync pack data back to profile (would break trust)

---

## DISCOVERABILITY ISSUES (Features Exist But Hidden)

Builder reported several features "already exist":
- Confirmation dialog for apply
- Back button
- Job detail fields
- Bottom sheet scroll

**Problem:** If Michael couldn't find them during QA, they're effectively missing.

**Fix:** Make features OBVIOUS:
- Use standard UI patterns (modal dialogs, clear buttons)
- Follow mobile conventions (bottom nav, back arrow in header)
- Don't hide features behind subtle gestures or invisible elements
- Test with real users who aren't familiar with the app

---

## RECOMMENDED PRIORITY ORDER FOR BUILDER

### Phase 1 (This Week — Before Re-QA)
1. Verify CSRF fix works
2. Complete seed data cleanup (worker_profiles table)
3. Fix match view stale data issue
4. Add name field to worker edit profile
5. Fix job detail panel → full page view
6. Make back button obvious
7. Make apply confirmation obvious

### Phase 2 (Next Week)
8. Add cert upload to worker profile
9. Add profile completion wizard post-signup
10. PWA icons and manifest
11. Fix ABN lookup save (verify Builder's fix)
12. "Browse Workers" feature for contractors

### Phase 3 (Post-Launch)
13. Auto-research contractor profiles
14. Advanced onboarding pack features

---

## UX PRINCIPLES TO APPLY

1. **Obvious over clever** — Don't hide features behind gestures or subtle UI
2. **Mobile-first** — Design for thumb reach, not mouse precision  
3. **One-tap back** — User should never feel trapped
4. **Confirmation for irreversible actions** — Apply, hire, pay = confirm first
5. **Progressive disclosure** — Show essential info first, details on tap
6. **Single source of truth** — Profile data feeds everything else
7. **Privacy by design** — Don't break trust with "we don't save your data"

---

## NOTES FOR MICHAEL

**What's working well:**
- Core architecture (auth, matching, payments, messaging)
- Mobile UI swipe patterns
- Stripe integration
- Voice input capability
- ABN lookup integration

**What needs polish:**
- Discoverability of existing features
- Completeness of profile flows
- Contractor-side browsing (major feature gap)
- Job detail completeness

**The pattern:** Backend works, frontend UX needs tightening.

---

*Document complete. For Builder implementation.*
