The onboarding we chose not to build
Open a new app in 2026 and there’s a decent chance you’ll be met with a ten-slide carousel explaining things that a properly-designed interface would not need explaining.
“Swipe to see more.” Yes, we know. “Tap here to start.” We already were. “Notifications help you stay engaged.” We have opinions about that sentence.
The pattern we avoid
The long pre-install tutorial. The empty-state that assumes the user has never seen an app before. The “here’s how you use a button” screen. These are not onboarding — they’re delay tactics between the user and the thing they came to do.
If your UI needs ten screens of explanation before it can be used, the problem is the UI. Not the user.
The carousel is also a symptom of something else: it’s the easiest place to put explanations a team couldn’t fit into the design. Every slide is a small admission that a screen wasn’t clear enough on its own. Removing the carousel forces us to fix those screens instead.
What we build instead
A first screen that is immediately useful — even if slightly empty — so the user can start poking around and learn by doing. Tooltips only where genuinely non-obvious (and only the first time). Empty states that tell the user what goes there (“Your first note will appear here”) instead of showing a cartoon.
In practice that looks different for each app. A typing trainer should have you typing within moments of opening it, because typing is the lesson. A habit tracker should let you add your first habit from the very first screen. A wedding planner genuinely needs some information before it can help, so it can ask — but only for what it needs right now, and it should show you something useful the moment you’ve answered.
We ask for permissions when we actually need them, not on launch. We ask for an account when an account would help the user, not because we want the email.
Timing matters most for permissions. A request for location makes sense the first time someone asks a fishing forecast for conditions nearby; on the launch screen it’s just a pop-up blocking the door. Asked in context, the reason is obvious and people can make a real decision. Asked up front, they mostly tap whatever makes the dialog go away.
The trade-offs
Skipping the tutorial has a cost. Some features genuinely aren’t obvious, and a few people will never find them without a nudge. We accept that some advanced features will be discovered later rather than sooner, and we put the effort into making them findable in context — a hint the first time it’s relevant, a clear label, a sensible default — rather than front-loading them all into a slideshow nobody remembers.
What we got wrong
We’ve over-corrected before. A first screen with nothing on it and no guidance isn’t minimal; it’s confusing. An empty state that just says “No items” leaves people unsure what to do next. Now every empty state answers one question — what should I do first? — with a single clear action.
The shortest path from install to first useful moment — that’s onboarding. Everything else is a greeting card.