Onboarding studio
Build onboarding
people finish.
Lay out the screens, publish a version, and watch the funnel. Your React Native app loads the live flow without a new release.
Free while OnboardingYak is in early access. Nothing goes live until you publish.
Product
The studio for the first run,
not another settings page.
Design the flow, check it in a phone, and ship the version your app already knows how to render.
A flow you can see
Order welcome, question, feature, permission, and paywall screens on a canvas. Drag them, then edit the one you selected.
An editor that rewrites
Ask for warmer copy or a tighter question. Nothing changes in the app until you publish.
Versions, not guesses
Keep a draft and a live version. Publish when the flow is ready, and roll the SDK onto that version.
See where people leave
Starts, completions, and a screen-by-screen funnel for the last 30 days. Events stay anonymous.
Brand once, every screen
Set type, color, and spacing for the whole onboarding, then override a single screen when you need to.
Copy in more than one language
Add a locale, preview it in the phone, and keep headlines, buttons, and choices side by side.
How it works
From a blank screen
to a live onboarding.
- 01
Design the flow
Add screens, write the copy, and preview it on an iPhone or Android frame before anyone else sees it.
- 02
Publish a version
The draft stays editable. Publish creates the live flow your app will fetch the next time it opens.
- 03
Drop in the SDK
One React Native component loads that flow, walks through the screens, and sends anonymous funnel events back.
Editor
Edit the screen
while you look at it.
Layers, type, spacing, and the phone preview sit in one place. Change a headline and the preview updates before you publish.
- Welcome, question, feature, permission, and paywall screens.
- Written answers or a single choice, required before the flow continues.
- A draft you can keep editing after the live version is out.
Analytics
Know which screen
asks too much.
The SDK sends anonymous events: the flow started, a screen was viewed, a screen was completed, the flow finished. You see unique sessions, not a pile of names.
- Starts, completions, and completion rate for the last 30 days.
- A funnel row for every published screen.
- One overview when you have more than one app.
Developers
The app renders it.
You don’t ship a new build.
The SDK fetches the published flow, caches the last good copy, and falls back to a bundle you ship with the app when the network is down.
- Question answers come back through
onComplete. Your app decides where they live. - Notifications and the paywall are callbacks you implement, not remote code.
- Changing copy or order does not require a new store build.
import { Onboarding } from '@firstrun/react-native';
<Onboarding
flowId="daily-ritual"
baseUrl="https://your-studio.example"
fallbackFlow={bundledFlow}
onComplete={() => navigation.replace('Home')}
/>Start with one app
Design the first screen
before you write the second.
Create an account, add your app, and publish when the flow is ready.
Start for free