Case study · Product design
Onboarding redesign
A long, linear onboarding flow was blocking patients from getting into the app, and didn't work for clinicians demoing Tenzr on a patient's phone in clinic. I designed a modular, resumable, skippable onboarding to solve both problems at once.
- Tools
- Figma, Figma Make, Linear
- Skills
- Product design, UX research, Workflow design, Interaction design, Prototyping


Final design · Modular onboarding · Visual design by a teammate
The original flow
The first version of onboarding was a straightforward, linear sequence. Patients logged in, went through a few screens introducing what the app does, then answered a short set of questions about their recovery goals and what they hoped to get from Tenzr. I designed the flow and screens myself, working from content and question requirements that leadership and the clinical relations team provided. The screens below show that original sequence, from welcome through to the first home screen.
Scroll sideways to see the whole flow. Click or tap it to zoom and pan.

Figma · Original onboarding flow
Adding reminders
As the product grew, we added custom reminder scheduling on top of the existing onboarding questions. I worked with a design team member on this version, extending the same linear structure to fit the new step. The screens below show that expanded flow.
Scroll sideways to see the whole flow. Click or tap it to zoom and pan.

Figma · Onboarding with reminders added · Collaborative design
Why it needed to change
Onboarding's scope kept expanding. Reminders had already shipped, and now avatar selection was being requested too, with a more involved notification-preferences setup planned for further down the line. Stacking all of that onto the same linear flow, even before it was fully built, was already a foreseeable problem. Patients would face an even longer wait before reaching anything in the app, which risked drop-off from frustration, a bad first impression, or just a sour experience before they'd even started. There was also a separate problem. Clinicians often demoed Tenzr on a patient's phone in clinic when introducing it. Clinicians didn't have time to sit through a long onboarding in that moment. But skipping wasn't an option either. There was no way back into onboarding later, so the patient would never get onboarded.
The modular redesign
I broke onboarding into three independent tasks, avatar selection, the recovery and motivation questions, and reminders, each completable on its own instead of as one forced sequence. I also added the option to skip the onboarding flow entirely. That solved the patient wait-time problem, since nothing was forced up front, and it gave clinicians the instant, no-friction demo they needed in clinic. Skipping didn't mean losing the setup either. Unfinished setup surfaced as a persistent prompt on the home screen, showing up until all three tasks were completed, so patients could always come back and finish setting up their avatar, recovery preferences, and reminders whenever it suited them. I owned the workflow and the logic behind it; the final visual design was done by a teammate. The recording below shows that flow working end to end, including the "Onboard Later" option that let clinicians jump straight into the app during a demo.

Prototype · Figma Make · Visual design by a teammate
The screens below break down that same task-based structure and the checklist that carried unfinished setup forward.
Scroll to see the whole board. Click or tap it to zoom and pan.

Modular onboarding · Task-based, resumable structure · Visual design by a teammate
What I'd take from it
The biggest lesson from this project was realizing I'd only been designing onboarding for one audience, the patient going through it themselves. Clinicians used it too. They often demoed Tenzr on a patient's phone in clinic and had no time to sit through a long setup. Skipping it wasn't a real option either, since the patient would never get onboarded. That use case was invisible until I went looking for it. It's a good reminder to check who else touches a flow besides the obvious primary user, since that could be where a good-looking design falls apart.