← All posts Builder Notes

Why Undulate Has No Onboarding — And What That Cost Me

May 6, 2026 · 9 min read · Abhishek Gawde

I spent two weeks building an onboarding flow. Three screens, a breathing-style quiz, an animated tutorial, a notification permission request timed to feel natural. It tested well with the people I showed it to. Then I deleted all of it.

I replaced it with a single screen: five breathing worlds, tap to start. No introduction. No quiz. No tutorial. The first thing you see when you open Undulate is the same thing you use.

That decision shaped everything that followed — what got built, what got cut, and what the app costs in conventional product terms. Here's what I actually learned from it.

Who Is Opening This App

The design question I kept returning to was: who opens a breathing app, and when?

The standard onboarding assumption is that your user just discovered the app, they're curious and calm, they have two minutes to be taught things, and this interaction will kick off a habit they'll build on. That describes some people who open Undulate. It doesn't describe the person I kept thinking about.

The person I kept thinking about is in a bathroom before a hard conversation, heart already elevated. Or they woke up at 3am with their chest tight and thoughts spinning. Or they felt the first flicker of something wrong on the subway and pulled out their phone. In each of those scenarios, the onboarding flow I'd built was asking someone to read three screens while their prefrontal cortex was partially offline — asking for sequential attention, decision-making, and tolerance for friction, exactly the capacities that get reduced when the sympathetic nervous system is running hot.

What Onboarding Asks of Someone Mid-Panic

There's a specific thing that happens to cognition during acute stress that most app design can ignore, because most apps don't need to worry about it. When your amygdala fires — when your body's threat-detection system engages — your brain redirects resources. Attention narrows to a single point. The prefrontal cortex, which handles working memory, sequential reasoning, and sustained reading, goes partially offline. Researchers call this the amygdala hijack. The practical upshot is measurable: people in activated states process information slower, make more errors, and struggle with anything requiring more than one step at a time.

Multi-step onboarding requires reading comprehension, decisions about personal preferences, spatial orientation across screens, and working memory to carry context from one tap to the next. These are not things that function well under activation. The onboarded user who is calm and exploring a new app is a genuinely different cognitive situation than the person who needs the app right now and is encountering it for the first time at 70% physiological arousal.

I had been designing for the first person. The second person needed something different.

The Choices Problem

The quiz I deleted asked users to identify their goal: reduce anxiety, improve sleep, increase focus, or calm down quickly. It then surfaced a recommended technique. This felt helpful. For calm users exploring the app at leisure, it probably was.

For someone activated, it was adding load, not removing it. Choice has a cost under stress. When you're anxious and presented with options, there's a pull toward freezing, or picking wrong and regretting it, or spending cognitive energy on the decision that would have been better spent on the actual breathing. Barry Schwartz's paradox of choice literature aside — the specific problem here is that meta-decisions ("which kind of help do I need?") require a layer of self-reflection that is exactly what goes offline when you're panicking.

I had eight breathing techniques across five visual worlds. The quiz was trying to match people to the right one. The insight I eventually landed on was simpler and a little uncomfortable: all eight work. Under any of them, you will breathe slower and more deeply than you were before. Any of them will shift the exhale-to-inhale ratio toward parasympathetic territory. The choice between them matters less than starting. The best technique is the one you actually do.

Removing the quiz didn't mean removing all choice — the home screen still shows five modes. But it removed the higher-order question of which category of problem you're there to solve. You arrive, you see breathing worlds, you tap one. That's the entire interaction before your first breath.

What "One Tap" Actually Required

Stripping onboarding meant the home screen had to carry the weight that three tutorial screens had been carrying. The constraint: it had to do it without words, and before a user had breathed once with the app — not after a calm explanatory sequence had set expectations.

Every visual had to be self-explanatory from the animation alone. The dandelion seeds floating outward on inhale and drifting back on exhale — you don't need instructions. The whale's body expanding and contracting with your breath. The paper plane's trajectory tracing the breathing cycle. These animations aren't decorative. They're the interface, and they have to work as the interface for someone who has never seen the app before and has about three seconds of attention to give it.

The haptics carry the rest. When the rhythm shifts, you feel it before you see it. Someone with their eyes closed, following a pattern, gets the complete signal through touch. I spent more time on haptic timing than on any visual element, because it was doing the instructional work that onboarding had previously handled. Getting this right took longer than the onboarding flow I deleted. But the constraint forced the design to actually solve the problem, rather than patching over it with a tutorial.

What It Cost

I want to be honest about what zero onboarding actually costs, because most design writing about this kind of decision is suspiciously positive.

Feature discovery is worse. Users who open the app in an acute state typically start one mode — usually whichever is most prominent — and often don't explore the others during that session. The pattern is consistent: some modes get heavy use, others stay relatively undiscovered. With onboarding, I could have introduced all five worlds. Without it, users find them when they find them, or they don't.

No natural hook for communication. Onboarding creates a moment to ask for an email address, establish notification preferences, or begin a relationship. Without it, there's no obvious place for any of that. The app starts and the person is breathing. I have no contact with them after the one-time purchase unless they reach out directly.

App Store ratings require different timing. The canonical moment to request a review is after a successful onboarding — satisfaction is high and the request feels earned. I had to find other moments: after a completed session, on a later launch. Solvable, but less efficient than the standard pattern.

Retention metrics become meaningless. Day-7 retention assumes habit formation. Undulate is an emergency tool, not a habit app. Users open it when they need it, not on a schedule. By conventional SaaS retention standards, the numbers look bad. That's because those standards assume daily use is the goal. For this app, it isn't — but that makes evaluating product health genuinely harder, and it makes certain investor conversations awkward if they come up.

The tradeoff in plain terms

The worst outcome of zero onboarding: a calm user doesn't discover all the features. The worst outcome of wrong onboarding: a person mid-panic can't get through the friction to the thing that would help them. These are not equivalent failures.

The Emergency Calm Link as Logical Extension

Zero onboarding inside the app raised an adjacent question almost immediately. Someone in acute distress might not have Undulate installed. They might be at a work computer. They might be using a friend's phone. They might be someone who's never heard of the app and is having a bad moment right now.

The Emergency Calm Link at undulate.app/calm is zero onboarding taken to its logical end: a full 60-second guided breathing session in any browser. No account. No download. No payment. Nothing is stored, nothing is tracked. The URL is short enough to remember or text to someone. I give it away freely — in posts, in the app description, in conversations about panic attacks.

From a conventional growth standpoint, this looks like giving away the product. From the standpoint of the constraint I was designing to, it's the only coherent thing to do. If the tool should work when someone needs it, a paywall and a download step and an account creation form are exactly the wrong barriers. The link drives some App Store conversions from people who want the full experience after trying the browser version. But that's a side effect — the design goal is that the URL works for the person who needs it and opens it.

The Question I Can't Fully Answer

I don't know if zero onboarding is a good product decision by conventional metrics. Honestly, it probably isn't. Lower feature discovery, no email list, harder retention measurement — these are real costs that compound.

What I know is that the constraint I was designing to was specific: build something that works for someone who can't focus, whose hands might be shaking, whose executive function is partially offline. That constraint ruled out onboarding — not as a preference, but as a logical consequence of taking the constraint seriously.

There's a version of Undulate with a beautiful optional onboarding flow that calm users explore and panicking users skip. That might be the right answer. Every time I draft it, I find myself asking: if a user in acute distress can skip it, will they actually skip it? Or will the visual weight of the onboarding screen cost them three seconds while they figure out where the skip button is?

Three seconds matters when you're panicking.

So for now: one screen, five worlds, tap to start. It costs something. I think it's the right tradeoff.

If you're experiencing acute distress or a mental health crisis, please reach out to a professional or contact the 988 Suicide and Crisis Lifeline (call or text 988).

Try Undulate — no onboarding, obviously

One tap. 60 seconds. Five breathing worlds. One-time purchase, no subscription. Or try it free in any browser at undulate.app/calm — same philosophy, no download required.

Download on App Store

Related

If this kind of builder thinking interests you: designing for acute distress goes deeper on the UX decisions that the anxiety context forces. the free breathing link covers why giving away a working version of your product is sometimes the most coherent marketing you can do. And privacy isn't a feature explains why zero data collection isn't a constraint — it's a design choice that follows from the same logic.