Onboarding
Tonic internal

Preview

Compose a flow by toggling the optional steps, and preview the screens a user in that config would see — in order, with skipped steps omitted. Only optional (flag-gated) steps can be toggled, so the composition is always constraint-valid (you can't skip a required step). The preview uses the generated catalog + Atlas screenshots, so it can't drift from the real screens.

Cohort

Optional steps

Toggle a step to include or exclude it from the composed flow.

Composed flow · 22 screens

  1. 1
    Welcome screen
    Welcome
  2. 2
    Sign In screen
    Sign In
  3. 3
    AI Consent screen
    AI Consent
  4. 4
    Name Input screen
    Name Input
  5. 5
    Name Affirmation screen
    Name Affirmation
  6. 6
    Journey Status screen
    Journey Status
  7. 7
    Journey Affirmation screen
    Journey Affirmation
  8. 8
    Gender Selection screen
    Gender Selection
  9. 9
    Birthday screen
    Birthday
  10. 10
    Height screen
    Height
  11. 11
    Weight screen
    Weight
  12. 12
    Weight Goal screen
    Weight Goal
  13. 13
    Goal Weight screen
    Goal Weight
  14. 14
    Weight Pace screen
    Weight Pace
  15. 15
    Weight Goal Affirmation screen
    Weight Goal Affirmation
  16. 16
    Activity Level screen
    Activity Level
  17. 17
    Notifications Permission screen
    Notifications Permission
  18. 18
    HealthKit Benefits screen
    HealthKit Benefits
  19. 19
    Tracking Style screen
    Tracking Style optional
  20. 20
    Tracking Affirmation screen
    Tracking Affirmation optional
  21. 21
    Plan Preview screen
    Plan Preview
  22. 22
    Completion screen
    Completion

Config

The flow config this composition represents.

{
  "version": "draft",
  "stepOverrides": {
    "appStoreReview": "exclude"
  },
  "variantSelections": {}
}

Publish

Write this composition to Convex for a variant key. The app fetches it for users that the onboarding_flow_config_v1 experiment assigns to that variant; an invalid/absent config falls back to today's flow. Publishing is operator-gated and runs server-side.

Tip: keep control = today's flow; publish a new variant key (e.g. no_review) for a real change, then add that variant to the PostHog experiment to ramp it.