> ## Documentation Index
> Fetch the complete documentation index at: https://docs.highailabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# User Lifecycle

> Complete user lifecycle from first touch through retention, churn risk, and re-engagement — with state diagrams and transition triggers.

## Overview

The user lifecycle maps every state a High IQ user can be in — from anonymous visitor to churned user and back. Understanding these states helps identify where users get stuck, what triggers progression, and how to bring lapsed users back.

## Lifecycle State Machine

```mermaid theme={null}
stateDiagram-v2
    [*] --> Anonymous
    Anonymous --> Authenticated: Sign Up / Sign In
    Authenticated --> Onboarding: First Launch Post-Auth
    Onboarding --> EmptyState: Onboarding Complete
    EmptyState --> Activated: First Data Entry
    Activated --> Engaged: 3+ Features Used
    Engaged --> Retained: Weekly Return (3+ weeks)
    Retained --> PowerUser: Pro Subscription + Deep Data

    Activated --> AtRisk: 7 Days Inactive
    Engaged --> AtRisk: 14 Days Inactive
    Retained --> AtRisk: 21 Days Inactive
    PowerUser --> AtRisk: 30 Days Inactive

    AtRisk --> Dormant: 30 Days Inactive
    Dormant --> Churned: 90 Days Inactive

    AtRisk --> Activated: Re-engagement Action
    Dormant --> Activated: Return Visit
    Churned --> Anonymous: Account Deleted
    Churned --> Activated: Win-Back Return

    PowerUser --> Retained: Subscription Canceled
```

## Lifecycle States Detailed

### Anonymous

The user has not created an account. They may be browsing the website or previewing the app.

```mermaid theme={null}
graph LR
    A[Website Visit] --> B{Action}
    B -->|Browse Strains| C[Strain Pages]
    B -->|Read Blog| D[Blog Articles]
    B -->|Download App| E[App Store]
    B -->|Try Scanner| F[Web Label Scanner]

    E --> G[App Preview Mode]
    G --> H[Locked Feature Taps]
    H --> I[Sign-Up Prompt]
```

**Available actions:** Browse strains on website, read blog, use web label scanner (anonymous), download app, preview app features.

**Transition trigger:** Tap a locked feature, attempt to save data, or explicitly tap "Sign Up."

***

### Authenticated

The user has an account but may not have completed initial setup.

**Entry conditions:**

* Email/password sign-up
* Google OAuth sign-in
* Apple Sign-In

**State data:**

| Attribute        | Value                   |
| ---------------- | ----------------------- |
| Account created  | Timestamp               |
| Auth provider    | Email, Google, or Apple |
| Gmail connected  | Yes/No                  |
| Profile complete | Yes/No                  |

***

### Onboarding

First-time experience guiding the user to their first value moment.

```mermaid theme={null}
sequenceDiagram
    participant U as User
    participant App as High IQ
    participant API as Strain API
    participant Convex as Convex DB

    U->>App: Open app (authenticated)
    App->>U: Show Dashboard with empty states
    App->>U: Display Quick Actions grid

    alt Upload Receipt
        U->>App: Tap "Upload Receipt"
        U->>App: Take photo of receipt
        App->>API: POST /receipts/parse
        API-->>App: Extracted items
        App->>Convex: Save order + stash items
        Convex-->>App: Confirmation
        App->>U: Show populated stash
    else Add Strain Manually
        U->>App: Tap "+" on Stash
        U->>App: Search for strain
        App->>API: GET /strains/search
        API-->>App: Search results
        U->>App: Select strain, set quantity
        App->>Convex: Save stash item
        Convex-->>App: Confirmation
        App->>U: Show strain in stash
    else Gmail Import
        U->>App: Tap "Gmail Import"
        App->>U: Request Gmail permissions
        U->>App: Grant permissions
        App->>API: Scan Gmail for receipts
        API-->>App: Email candidates
        U->>App: Review and confirm
        App->>Convex: Save orders + stash
        App->>U: Show imported history
    end

    App->>U: Dashboard populated with data
    Note over U,App: User is now "Activated"
```

***

### Activated

The user has at least one data point in the system. Features begin to personalize.

**Minimum data:** 1 stash item OR 1 order OR 1 favorite.

**Feature availability by data level:**

| Data Threshold | Features Unlocked                        |
| -------------- | ---------------------------------------- |
| 1 stash item   | Dashboard preview, basic stats           |
| 3 stash items  | ELO ranking, collection management       |
| 1 order        | Notebook generation, order history       |
| 5 events       | Predictive analytics (velocity, restock) |
| 1 dispensary   | Shopping Agent                           |
| 5 favorites    | Improved AI recommendations              |

***

### Engaged

The user has explored multiple features and returns regularly.

**Entry criteria (any 3 of):**

* Generated a notebook
* Saved 3+ favorites
* Added a dispensary
* Completed a ranking session
* Asked Professor High a question
* Viewed stats dashboard
* Scanned a label
* Uploaded 2+ orders

```mermaid theme={null}
graph TD
    A[Engaged User] --> B[Weekly Habits]
    B --> B1[Check Dashboard]
    B --> B2[View Daily Stories]
    B --> B3[Upload New Orders]
    B --> B4[Track Consumption]

    A --> C[Achievement Loop]
    C --> C1[Earn Achievement]
    C1 --> C2[See Next Quest]
    C2 --> C3[Take Action]
    C3 --> C1

    A --> D[Discovery Loop]
    D --> D1[Browse New Strains]
    D1 --> D2[Add to Wishlist]
    D2 --> D3[Find at Dispensary]
    D3 --> D4[Purchase & Add]
    D4 --> D1
```

***

### Retained

The user has returned for 3+ consecutive weeks. Predictable usage patterns established.

**Behavioral markers:**

* Consistent weekly app opens
* Regular order uploads or consumption logging
* Achievement progress advancing
* AI queries becoming more specific
* Rankings being refined over time

***

### Power User

The deepest engagement level — typically a Pro subscriber with rich data history.

```mermaid theme={null}
pie title Power User Feature Usage
    "Stash Management" : 25
    "Notebooks & Stories" : 20
    "Shopping Agent" : 15
    "Stats & Analytics" : 15
    "Ask AI" : 10
    "Rankings" : 8
    "Label Scanner" : 7
```

**Characteristics:**

| Trait                | Typical Value   |
| -------------------- | --------------- |
| Strains collected    | 50+             |
| Orders logged        | 20+             |
| Notebooks generated  | 10+             |
| Dispensaries saved   | 3+              |
| Achievement level    | 13+             |
| Rankings completed   | 50+ comparisons |
| Daily Stories streak | 7+ days         |

***

### At-Risk

The user has stopped engaging after a period of activity.

```mermaid theme={null}
graph TD
    A[At-Risk Detection] --> B{Inactivity Period}
    B -->|7 days| C[Activated User at Risk]
    B -->|14 days| D[Engaged User at Risk]
    B -->|21 days| E[Retained User at Risk]
    B -->|30 days| F[Power User at Risk]

    C --> G[Re-engagement Triggers]
    D --> G
    E --> G
    F --> G

    G --> G1[Achievement Almost Complete]
    G --> G2[New Strains in DB]
    G --> G3[Daily Story Waiting]
    G --> G4[Stash Running Low]
    G --> G5[Dispensary Menu Updated]
```

**Re-engagement opportunities:**

| Trigger                | Message Type                                 | Best For             |
| ---------------------- | -------------------------------------------- | -------------------- |
| Achievement at 80%+    | "You're 2 favorites away from Curator!"      | Engaged users        |
| Restock prediction     | "Your Blue Dream supply is running low"      | Retained users       |
| Daily Story available  | "Your daily story is ready"                  | Users with streak    |
| New strain added       | "A strain from your wishlist was just added" | Collectors           |
| Dispensary menu change | "New products at your dispensary"            | Shopping Agent users |

***

### Dormant

Extended inactivity (30+ days). User data remains intact.

**Recovery path:**

1. User re-opens app
2. Dashboard shows familiar data (stash, stats, achievements)
3. "Welcome back" experience highlights what's new
4. Quick Sync checks for new Gmail orders
5. Achievement progress reminds of nearby goals

***

### Churned

90+ days of inactivity or account deletion requested.

**Account deletion flow:**

```mermaid theme={null}
graph TD
    A[User Requests Deletion] --> B[Confirmation Dialog]
    B --> C{Confirmed?}
    C -->|No| D[Cancel]
    C -->|Yes| E[Export Data Option]
    E --> F{Export First?}
    F -->|Yes| G[Download Data Package]
    F -->|No| H[Proceed]
    G --> H
    H --> I[Delete All User Data]
    I --> J[Revoke Auth Tokens]
    J --> K[Account Removed]
```

## Lifecycle Transition Summary

```mermaid theme={null}
graph LR
    A[Anonymous] -->|Sign Up| B[Authenticated]
    B -->|First Launch| C[Onboarding]
    C -->|Complete| D[Empty State]
    D -->|Add Data| E[Activated]
    E -->|Explore| F[Engaged]
    F -->|Return Weekly| G[Retained]
    G -->|Subscribe + Deep Use| H[Power User]

    E -.->|Inactive| I[At Risk]
    F -.->|Inactive| I
    G -.->|Inactive| I
    H -.->|Inactive| I
    I -.->|30d| J[Dormant]
    J -.->|90d| K[Churned]

    I -->|Return| E
    J -->|Return| E
    K -->|Win-back| E
```

## Related Flows

<CardGroup cols={2}>
  <Card title="Master Journey" icon="route" href="/help/user-flows/master-journey">
    The complete end-to-end journey map.
  </Card>

  <Card title="Onboarding Flow" icon="right-to-bracket" href="/help/user-flows/onboarding">
    Detailed first-time user experience.
  </Card>

  <Card title="User Personas" icon="users" href="/help/user-flows/personas">
    How different personas move through the lifecycle.
  </Card>

  <Card title="Re-engagement" icon="arrows-rotate" href="/help/user-flows/re-engagement">
    Strategies for bringing back lapsed users.
  </Card>
</CardGroup>
