Skip to main content

New users see a welcome screen or guided orientation on first login

ab-002344 · saas-onboarding.first-run.welcome-screen-or-tour
Severity: mediumactive

Why it matters

New users dropped directly into the same dashboard as veteran users face a cold-start problem: no context on what the product does, what to click first, or what success looks like. The user-experience taxon flags this as an activation failure — without a welcome screen, guided tour, or first-run flag distinguishing new from returning users, activation rates collapse and most new accounts never return for a second session. The cost of a missed first-run experience compounds: these users churn before they ever experience the product's core value.

Severity rationale

Medium because the product works for returning users, but new-user activation — the metric that drives retention — breaks silently.

Remediation

Gate the dashboard on an onboardingCompleted flag and redirect new users to a dedicated onboarding route. Update src/app/(app)/dashboard/page.tsx to check the flag on the session or user row, then build a 3-5 step checklist at src/app/(app)/onboarding/page.tsx that guides the user to the core action.

const { data: user } = await getUser();
if (!user.onboardingCompleted) {
  redirect('/onboarding');
}

Detection

  • ID: saas-onboarding.first-run.welcome-screen-or-tour

  • Severity: medium

  • What to look for: Enumerate all first-run detection mechanisms: checks for isNewUser, onboarding_completed, first_login, or similar flags in session/database. Count the total. Check for dedicated welcome routes, onboarding step components, product tours (Shepherd.js, Intro.js, driver.js, custom spotlight components), or modal overlays triggered for new users.

  • Pass criteria: First-time users see a distinct welcome experience — either a dedicated welcome screen, an onboarding checklist, a product tour, or a modal that orients them. At least 1 first-run detection mechanism must be present that distinguishes new from returning users.

  • Fail criteria: No first-run detection logic exists. New users and returning users land on the identical screen with no differentiation. There is no welcome screen, tour, checklist, or onboarding modal in the codebase.

  • Skip (N/A) when: The project is a CLI tool, API-only backend, or developer library with no user-facing UI.

  • Detail on fail: "No first-run detection found. New users land directly on the dashboard identical to returning users. No welcome screen, onboarding tour, or setup checklist exists in the codebase."

  • Remediation: Add first-run detection in src/app/(app)/dashboard/page.tsx:

    const { data: user } = await getUser();
    if (!user.onboardingCompleted) {
      redirect('/onboarding');
    }
    

    Create an onboarding checklist at src/app/(app)/onboarding/page.tsx with 3-5 key setup steps.


Taxons

History