Overview
The onboarding flow is the most critical user journey in High IQ. It determines whether a new user becomes an active user or abandons the app. The goal is simple: get the user to their first “aha” moment — seeing their cannabis data organized, analyzed, and actionable — as fast as possible.Onboarding Funnel
Authentication Flow
Authentication Edge Cases
| Edge Case | Behavior |
|---|---|
| User already has account (Google) | Silently signs in, redirects to dashboard |
| User already has account (email) | “Account exists” message with sign-in option |
| Apple hides email | Account created with relay email, works normally |
| Network failure during auth | Error toast with retry button, no partial state |
| Force quit during auth | Resumes at auth screen on next launch |
| OAuth popup blocked | Fallback instructions displayed |
| Email verification timeout | Resend button after 60 seconds |
First Action Paths
Path A: Manual Strain Entry (Fastest — 30 seconds)
Edge cases:| Scenario | Handling |
|---|---|
| Strain not found in database | Option to add custom strain name |
| Duplicate strain in stash | Warning with option to update existing |
| No quantity entered | Saves with “unknown” quantity |
| Network offline | Queued locally, syncs when online |
Path B: Receipt Photo Upload (2 minutes)
Edge cases:| Scenario | Handling |
|---|---|
| Blurry photo | ”Image too blurry” with retake prompt |
| Not a receipt | ”This doesn’t look like a receipt” message |
| Handwritten receipt | AI attempts extraction, lower confidence |
| Digital screenshot receipt | Works well, high confidence |
| Receipt in non-English | Currently English only, error message |
| Very long receipt (20+ items) | Scrollable review, batch processing |
| Duplicate receipt upload | Duplicate warning with option to proceed |
| Partial extraction (some items missed) | Review screen allows manual additions |
Path C: Gmail Import (3 minutes, highest value)
Edge cases:| Scenario | Handling |
|---|---|
| Google declines permissions | Clear message explaining read-only scope, retry option |
| Zero receipts found | Friendly empty state with alternative import methods |
| 100+ receipts found | Warning to import in batches of 50 |
| Mixed confidence results | Pre-select High and Medium, leave Low unchecked |
| Import fails mid-batch | Resume from last successful, retry failed |
| Duplicate Gmail message IDs | Auto-skipped with “duplicate” badge |
| Non-dispensary emails matched | AI classification filters most, review step catches rest |
| Google Workspace restrictions | Error message suggesting personal Gmail |
Path D: Label Scanner (15 seconds, discovery-oriented)
First Value Moment Map
The “aha” moment differs by user type and first action:Post-Onboarding Guidance
After the first value moment, the app surfaces contextual next-step prompts:| User Has | Next Step Prompt | Where Shown |
|---|---|---|
| 1 strain in stash | ”Generate your first AI notebook” | Dashboard card |
| 1 order but no dispensary | ”Save your dispensary for menu scanning” | Dashboard card |
| Strains but no favorites | ”Heart your favorites for better recommendations” | Strain profile |
| 3+ strains, no rankings | ”Start ranking your strains” | Collection screen |
| Data but hasn’t asked AI | ”Ask Professor High about your stash” | Dashboard tools |
Related Flows
Master Journey
Where onboarding fits in the complete journey.
Order Upload Flow
Deep dive into all order import methods.
User Personas
How different personas experience onboarding.
Authentication
Authentication states and edge cases.
