LiveIntroduced in 5.14.0Open in Figma
LiveIntroduced in 5.14.0Open in Figma

Purpose

Introduce the app to a first-time user in a single, focused screen and move them into the sign-up flow with as little friction as possible. The screen is the first impression of the product, so the copy and hero visual are driven by a remote onboarding configuration that marketing can update without an app release.

Entry points

  • App launch with no active session — the default path for a fresh install.
  • After sign-out — the user is returned here rather than to the login form, so the marketing message is shown again.
  • Deep link panjur://onboarding — used by campaign links; opens the app directly on this screen.

Behavior

On appear, the screen requests the onboarding configuration (hero image, headline and the list of value props). While that request is in flight the primary button is disabled and a lightweight placeholder is shown. Once the config resolves the final content fades in.

  • Get started — begins the sign-up flow (email/phone entry).
  • I already have an account — routes to the login screen.
  • The value-prop carousel auto-advances every 4 seconds and pauses on touch.

States

  • Default — hero, headline, value props and both actions are shown.
  • Loading — placeholder hero and disabled primary button while the config loads.
  • Error — the config request failed; an inline message with a “Try again” action is shown. The user can still proceed with default copy.
  • Empty — the config resolved but returned no promotional content; a neutral fallback headline is used so the screen is never blank.

Edge cases

  • Offline launch — the cached config from the previous session is used; if none exists, the empty-state fallback copy is shown.
  • Slow network — after 8 seconds the loading placeholder is replaced by the fallback copy so the user is never stuck behind a spinner.
  • Reduced Motion enabled — the value-prop carousel stops auto-advancing and becomes a static, swipeable list.

Analytics

The three events above cover the funnel entry. onboarding_welcome_viewed is the denominator for onboarding conversion; the ratio of onboarding_get_started_tapped to views is the primary metric this screen is optimized for.

Notes

The hero copy and value props are localized and come entirely from the remote config, so this brief documents structure and behavior rather than final wording.

Analytics

EventDescription
onboarding_welcome_viewedFired once each time the welcome screen becomes visible on launch.
onboarding_get_started_tappedFired when the user taps the primary "Get started" button.
onboarding_login_tappedFired when an existing user taps "I already have an account".