Pineflow · Onboarding

Onboarding is everything between install and the first time your app proves itself. Most people who install an app never open it a second time, so these first screens decide who stays.

VideoDuolingo UX teardown: how does Duolingo onboard users?

The first win is the first moment a new user gets what they came for. Not a sign-up, not a tour: the real thing, small. For a lifting app that's seeing how your bench press ranks. Name yours in one sentence, and get there within a minute.

Tap one to watch its real onboarding
2

Best practices

The first session

  • The first win within a minute.
  • One question per screen, taps before typing.
  • Show their answers back as their plan.
  • A progress bar and a way back on every screen.
  • End on your paywall, right after the first win.
  • A sensible answer picked already, and fewer choices per question (Kris Greenwald, 6:08 ↗).
  • About five words of text per screen, like a caption (Superwall, 13:15 ↗).

Asking for things

  • Login after the first win, or not at all.
  • Each permission right before the feature that needs it, like notifications when they set a goal.
  • Your own screen first that says why, with Not now. iOS asks only once (Apple's guidelines ↗).

Coming back

  • Reminders built on their own data, like "Bench day. Go for 62.5?"
  • Only when they need it, and easy to turn off.
3

Plan it

Two choices shape your whole onboarding. Answer them, then write your plan.

  • Does the first win need to know something about the user?
    • yesA short quizAsk only what the win needs, one question per screen, then show it back as their plan. Like Cal AI.
    • noStraight to the winLet them try it at once, and ask later if ever. Like Duolingo and Calm.
  • Must the user's data follow them to another phone?
    • yesLogin after the first winOffer Sign in with Apple. Google login alone isn't enough for Apple.Apple 4.8 ↗
    • noNo loginSave on the phone. RevenueCat and analytics work without an account.

Find apps like yours on ScreensDesign ↗ or Mobbin ↗, then write your plan:

Prompt
Read docs/PRD.md. Create docs/ONBOARDING.md: the first win in one sentence, then every screen from first open to that win, one line each: what it asks or shows, and why the first win needs it. Put login and every permission after the first win unless the win needs them. End on the paywall.

Then cross out every screen that doesn't lead to the first win.

4

Build it

Start with `/clear`, then plan and build it in one go. Want help with the questions and copy? The onboarding questionnaire skill in the tools below writes them like top subscription apps do.

Prompt
/plan Build the onboarding in docs/ONBOARDING.md. One question per screen, taps before typing, a progress bar and a back button. Show the user's answers back to them as their plan before the first win, then the paywall. Save that onboarding is done, so it only shows once, and add a Reset onboarding button in settings that only shows in development.

Our favorite tools