Product Design

Onboarding, simplified

Reducing a complex healthcare onboarding flow from 12 screens to 4

Role

Staff Product Designer

Scope

UX Strategy · UI · Design Systems · AI Prototyping

Timeline

2 weeks

Impact

12 to 4 screens

Overview

TandemStride helps people navigate care and resources after a traumatic, life-altering injury. But before users could get any of that value, they had to get through 12 daunting onboarding screens.

I inherited the flow and reduced it from 12 screens to 4, cutting the number of exit points while establishing reusable patterns and components that became part of our design system.

Challenge: Current Onboarding Flow

I inherited this onboarding experience that reflected TandemStride’s complexity - not users' needs. My challenge was aligning the team around what we needed upfront, what could wait, and what could disappear.


  • 12 screens = 12 opportunities to leave

  • Everything was treated as equally urgent

  • “Skip” helped completion, but hurt data quality

  • Users were asked for sensitive information before seeing any value or trust was established


How might we ask less upfront without losing the critical data we need?

How I approached it

  1. Audited the flow and questioned the purpose of every step

  2. Worked with PM + engineering to separate need now from we could ask later

  3. Consolidated related inputs and moved nonessential questions downstream

  4. Prototyped, tested, cut, refined, and shipped

The rule: If we didn't need it to get someone started, it didn't belong in onboarding

Clickable Prototype

The thinking behind it

Open with immediate social proof

Before asking for anything, I wanted users to feel like they were joining something bigger, not filling out another health form. I replaced a generic “you’re not alone” message with tangible proof that others are already here.


Key decisions

  • Opened with a count of people in the community

  • Animated the number on entry to give the moment energy

  • Set expectations with a 2-minute commitment upfront


Tradeoff
A live count required more engineering, so my PM and I scoped V1 to a manually updated number.

Collapse 14 screens into 4

One-question-per-screen works for branching decisions, but name, DOB, ZIP, and phone are one mental task. I grouped related inputs onto a single screen, establishing a pattern for the rest of onboarding: group by task, not database field.

Key decisions

  • Reduced 12 exit points to 4

  • Grouped related fields into one validated form

  • Used 52px inputs for easier one-handed entry

  • Disabled Continue until required fields were valid

Tradeoff
The screen became denser, so I used paired fields, generous spacing, and progressive validation to keep it manageable.

Ask like a human, not a clinical robot

The old flow asked users to classify themselves as Survivor, Loved One, Mentor, or Support, then separately asked what they needed. I replaced both with one question that matched how people actually think: “What brings you here?”


Key decisions

  • Combined two classification steps into one question

  • Replaced internal labels with plain language

  • Wrote responses in first person: “I was injured”

  • Reduced the decision to three clear paths


Tradeoff
Three broader paths meant less specificity upfront, but gave us enough information to route users without making them decode our taxonomy.

Make completion feel like a beginning

The old flow ended with a generic “we’ll be in touch.” I turned completion into a launchpad into the product, celebrating the user while showing them what was waiting on the other side.


Key decisions

  • Used progress + confetti to create a clear completion moment

  • Previewed four features available inside the app

  • Kept one obvious primary action: Get Started

  • Avoided auto-advancing so users controlled when they moved on


Tradeoff
Showing four features introduced more choice, so I treated them as previews rather than actions and kept Get Started as the clear next step.

Trauma-informed mostly meant not asking

The old onboarding asked people to share sensitive details before they had experienced any value. I introduced a simple rule: collect in context. Sensitive information moved to the moment users could understand why we needed it.


Key decisions

  • Moved injury details from onboarding into relevant features

  • Kept genuinely required business data upfront

  • Removed “Skip” from fields we actually needed

  • Let users experience the product before asking for more


Tradeoff
We now ask for injury data later, adding a step to features like Peer Matching, so users can clearly see why we're asking it and how it will be used.

What I designed… then cut

The first solution wasn't 4 screens - getting to 4 screens required me to keep designing, questioning and cutting. If a screen didn't earn a place in “Now,” it moved or disappeared.

What are you looking for?

Was intended to inform and create hype, but it sat nex tot the priorities screen, it was the same question in different words

What we offer

A mid-flow product pitch sounded helpful but interrupted momentum. We moved it to the last frame as a jumping off point instead.

How can we reach you?

Two fields didn't need their own screen - works better in the personal info section/mental model

Three quick ones

We want to squeeze out extra insights while we had their attention - but it was asking too much before delievering value

What would help most?

It overlapped with the help-topics screen and it’s another decision fatigue moment (when in reality, they probably want help with all 4)

Confirm your details

Right idea for accuracy, but impractical from a user pov, nobody needs to confirm 4 fields they just typed (they can also edit within the “Account Settings” section)

Designing the system, not just screens

FigmaMCP x ClaudeCode

I structured our components and design tokens so Claude Code could understand and build from the same system I was using in Figma.


Key decisions

  • Standardized color, type, spacing, radius, and other values as design tokens

  • Built onboarding with reusable components and consistent variants

  • Used Figma MCP to give Claude structured access to the design

  • Connected design tokens to coded prototypes instead of recreating styles by hand

  • Used Claude Code to rapidly test designs as working interfaces

So, did it work?

  • 12 to 4 screens

  • 68% onboarding completion (+28%)

  • 130s faster completion

  • 25% lower drop-off

  • X% activation increase

Product Design

Onboarding, simplified

Reducing a complex healthcare onboarding flow from 12 screens to 4

Role

Staff Product Designer

Scope

UX Strategy · UI · Design Systems · AI Prototyping

Timeline

2 weeks

Impact

12 to 4 screens

Overview

TandemStride helps people navigate care and resources after a traumatic, life-altering injury. But before users could get any of that value, they had to get through 12 daunting onboarding screens.

I inherited the flow and reduced it from 12 screens to 4, cutting the number of exit points while establishing reusable patterns and components that became part of our design system.

Challenge: Current Onboarding Flow

I inherited this onboarding experience that reflected TandemStride’s complexity - not users' needs. My challenge was aligning the team around what we needed upfront, what could wait, and what could disappear.


  • 12 screens = 12 opportunities to leave

  • Everything was treated as equally urgent

  • “Skip” helped completion, but hurt data quality

  • Users were asked for sensitive information before seeing any value or trust was established


How might we ask less upfront without losing the critical data we need?

How I approached it

  1. Audited the flow and questioned the purpose of every step

  2. Worked with PM + engineering to separate need now from we could ask later

  3. Consolidated related inputs and moved nonessential questions downstream

  4. Prototyped, tested, cut, refined, and shipped

The rule: If we didn't need it to get someone started, it didn't belong in onboarding

Clickable Prototype

The thinking behind it

Open with immediate social proof

Before asking for anything, I wanted users to feel like they were joining something bigger, not filling out another health form. I replaced a generic “you’re not alone” message with tangible proof that others are already here.


Key decisions

  • Opened with a count of people in the community

  • Animated the number on entry to give the moment energy

  • Set expectations with a 2-minute commitment upfront


Tradeoff
A live count required more engineering, so my PM and I scoped V1 to a manually updated number.

Collapse 14 screens into 4

One-question-per-screen works for branching decisions, but name, DOB, ZIP, and phone are one mental task. I grouped related inputs onto a single screen, establishing a pattern for the rest of onboarding: group by task, not database field.

Key decisions

  • Reduced 12 exit points to 4

  • Grouped related fields into one validated form

  • Used 52px inputs for easier one-handed entry

  • Disabled Continue until required fields were valid

Tradeoff
The screen became denser, so I used paired fields, generous spacing, and progressive validation to keep it manageable.

Ask like a human, not a clinical robot

The old flow asked users to classify themselves as Survivor, Loved One, Mentor, or Support, then separately asked what they needed. I replaced both with one question that matched how people actually think: “What brings you here?”


Key decisions

  • Combined two classification steps into one question

  • Replaced internal labels with plain language

  • Wrote responses in first person: “I was injured”

  • Reduced the decision to three clear paths


Tradeoff
Three broader paths meant less specificity upfront, but gave us enough information to route users without making them decode our taxonomy.

Make completion feel like a beginning

The old flow ended with a generic “we’ll be in touch.” I turned completion into a launchpad into the product, celebrating the user while showing them what was waiting on the other side.


Key decisions

  • Used progress + confetti to create a clear completion moment

  • Previewed four features available inside the app

  • Kept one obvious primary action: Get Started

  • Avoided auto-advancing so users controlled when they moved on


Tradeoff
Showing four features introduced more choice, so I treated them as previews rather than actions and kept Get Started as the clear next step.

Trauma-informed mostly meant not asking

The old onboarding asked people to share sensitive details before they had experienced any value. I introduced a simple rule: collect in context. Sensitive information moved to the moment users could understand why we needed it.


Key decisions

  • Moved injury details from onboarding into relevant features

  • Kept genuinely required business data upfront

  • Removed “Skip” from fields we actually needed

  • Let users experience the product before asking for more


Tradeoff
We now ask for injury data later, adding a step to features like Peer Matching, so users can clearly see why we're asking it and how it will be used.

What I designed… then cut

The first solution wasn't 4 screens - getting to 4 screens required me to keep designing, questioning and cutting. If a screen didn't earn a place in “Now,” it moved or disappeared.

What are you looking for?

Was intended to inform and create hype, but it sat nex tot the priorities screen, it was the same question in different words

What we offer

A mid-flow product pitch sounded helpful but interrupted momentum. We moved it to the last frame as a jumping off point instead.

How can we reach you?

Two fields didn't need their own screen - works better in the personal info section/mental model

Three quick ones

We want to squeeze out extra insights while we had their attention - but it was asking too much before delievering value

What would help most?

It overlapped with the help-topics screen and it’s another decision fatigue moment (when in reality, they probably want help with all 4)

Confirm your details

Right idea for accuracy, but impractical from a user pov, nobody needs to confirm 4 fields they just typed (they can also edit within the “Account Settings” section)

Designing the system, not just screens

FigmaMCP x ClaudeCode

I structured our components and design tokens so Claude Code could understand and build from the same system I was using in Figma.


Key decisions

  • Standardized color, type, spacing, radius, and other values as design tokens

  • Built onboarding with reusable components and consistent variants

  • Used Figma MCP to give Claude structured access to the design

  • Connected design tokens to coded prototypes instead of recreating styles by hand

  • Used Claude Code to rapidly test designs as working interfaces

So, did it work?

  • 12 to 4 screens

  • 68% onboarding completion (+28%)

  • 130s faster completion

  • 25% lower drop-off

  • X% activation increase

Product Design

Onboarding, simplified

Reducing a complex healthcare onboarding flow from 12 screens to 4

Role

Staff Product Designer

Scope

UX Strategy · UI · Design Systems · AI Prototyping

Timeline

2 weeks

Impact

12 to 4 screens

Overview

TandemStride helps people navigate care and resources after a traumatic, life-altering injury. But before users could get any of that value, they had to get through 12 daunting onboarding screens.

I inherited the flow and reduced it from 12 screens to 4, cutting the number of exit points while establishing reusable patterns and components that became part of our design system.

Challenge: Current Onboarding Flow

I inherited this onboarding experience that reflected TandemStride’s complexity - not users' needs. My challenge was aligning the team around what we needed upfront, what could wait, and what could disappear.


  • 12 screens = 12 opportunities to leave

  • Everything was treated as equally urgent

  • “Skip” helped completion, but hurt data quality

  • Users were asked for sensitive information before seeing any value or trust was established


How might we ask less upfront without losing the critical data we need?

How I approached it

  1. Audited the flow and questioned the purpose of every step

  2. Worked with PM + engineering to separate need now from we could ask later

  3. Consolidated related inputs and moved nonessential questions downstream

  4. Prototyped, tested, cut, refined, and shipped

The rule: If we didn't need it to get someone started, it didn't belong in onboarding

Clickable Prototype

The thinking behind it

Open with immediate social proof

Before asking for anything, I wanted users to feel like they were joining something bigger, not filling out another health form. I replaced a generic “you’re not alone” message with tangible proof that others are already here.


Key decisions

  • Opened with a count of people in the community

  • Animated the number on entry to give the moment energy

  • Set expectations with a 2-minute commitment upfront


Tradeoff
A live count required more engineering, so my PM and I scoped V1 to a manually updated number.

Collapse 14 screens into 4

One-question-per-screen works for branching decisions, but name, DOB, ZIP, and phone are one mental task. I grouped related inputs onto a single screen, establishing a pattern for the rest of onboarding: group by task, not database field.

Key decisions

  • Reduced 12 exit points to 4

  • Grouped related fields into one validated form

  • Used 52px inputs for easier one-handed entry

  • Disabled Continue until required fields were valid

Tradeoff
The screen became denser, so I used paired fields, generous spacing, and progressive validation to keep it manageable.

Ask like a human, not a clinical robot

The old flow asked users to classify themselves as Survivor, Loved One, Mentor, or Support, then separately asked what they needed. I replaced both with one question that matched how people actually think: “What brings you here?”


Key decisions

  • Combined two classification steps into one question

  • Replaced internal labels with plain language

  • Wrote responses in first person: “I was injured”

  • Reduced the decision to three clear paths


Tradeoff
Three broader paths meant less specificity upfront, but gave us enough information to route users without making them decode our taxonomy.

Make completion feel like a beginning

The old flow ended with a generic “we’ll be in touch.” I turned completion into a launchpad into the product, celebrating the user while showing them what was waiting on the other side.


Key decisions

  • Used progress + confetti to create a clear completion moment

  • Previewed four features available inside the app

  • Kept one obvious primary action: Get Started

  • Avoided auto-advancing so users controlled when they moved on


Tradeoff
Showing four features introduced more choice, so I treated them as previews rather than actions and kept Get Started as the clear next step.

Trauma-informed mostly meant not asking

The old onboarding asked people to share sensitive details before they had experienced any value. I introduced a simple rule: collect in context. Sensitive information moved to the moment users could understand why we needed it.


Key decisions

  • Moved injury details from onboarding into relevant features

  • Kept genuinely required business data upfront

  • Removed “Skip” from fields we actually needed

  • Let users experience the product before asking for more


Tradeoff
We now ask for injury data later, adding a step to features like Peer Matching, so users can clearly see why we're asking it and how it will be used.

What I designed… then cut

The first solution wasn't 4 screens - getting to 4 screens required me to keep designing, questioning and cutting. If a screen didn't earn a place in “Now,” it moved or disappeared.

What are you looking for?

Was intended to inform and create hype, but it sat nex tot the priorities screen, it was the same question in different words

What we offer

A mid-flow product pitch sounded helpful but interrupted momentum. We moved it to the last frame as a jumping off point instead.

How can we reach you?

Two fields didn't need their own screen - works better in the personal info section/mental model

Three quick ones

We want to squeeze out extra insights while we had their attention - but it was asking too much before delievering value

What would help most?

It overlapped with the help-topics screen and it’s another decision fatigue moment (when in reality, they probably want help with all 4)

Confirm your details

Right idea for accuracy, but impractical from a user pov, nobody needs to confirm 4 fields they just typed (they can also edit within the “Account Settings” section)

Designing the system, not just screens

FigmaMCP x ClaudeCode

I structured our components and design tokens so Claude Code could understand and build from the same system I was using in Figma.


Key decisions

  • Standardized color, type, spacing, radius, and other values as design tokens

  • Built onboarding with reusable components and consistent variants

  • Used Figma MCP to give Claude structured access to the design

  • Connected design tokens to coded prototypes instead of recreating styles by hand

  • Used Claude Code to rapidly test designs as working interfaces

So, did it work?

  • 12 to 4 screens

  • 68% onboarding completion (+28%)

  • 130s faster completion

  • 25% lower drop-off

  • X% activation increase

Create a free website with Framer, the website builder loved by startups, designers and agencies.