Case Study · Product Design · 2024

Meridian was losing 68% of users before they ever sent a first payment.

A 14-week engagement to rebuild the onboarding of a B2B payroll platform — from a 12-step form maze into a guided, progressive flow that cut drop-off by more than half.

ROLE

Lead Product Designer

DURATION

14 Weeks

TEAM

2 Eng · 1 PM · 1 Researcher

STATUS

Shipped · v4.0

01 — The Problem

A 12-step form was standing between a startup and its first payroll run.

Meridian is a payroll platform for small SaaS companies. Their sales team was closing deals fast — but activation was bleeding them dry. After a signed contract, new clients had to complete a 12-step, 90-field setup form before any employee could be paid.

In the first 90 days post-launch, 68% of onboarded companies never completed setup. Churn reviews kept citing the same phrase: "We got lost in the setup." Every stalled account was a sales rep's time, a support ticket, and a brand promise quietly broken.

90

fields shown upfront, before a single one was understood

11 min

median time to first abandonment, usually at step 7

4.2×

support tickets per stalled onboarding vs. completed ones

"The goal wasn't to make a prettier form. It was to get a first payroll run out the door — and make the rest feel inevitable."

— Project brief, week 1

02 — Process

Three decisions changed the whole shape of the flow.

DECISION 01

Stop asking for everything. Start asking for what unblocks.

We interviewed 11 finance leads across stalled and successful accounts. The pattern was blunt: people didn't mind giving data — they minded giving data with no visible purpose. So we mapped every field to the earliest payroll milestone it unlocked, and cut the initial ask from 90 fields to 14.

▸ Field audit: 90 fields → 14 required to reach "first payroll run"
▸ 38 fields deferred into progressive profile completion
▸ 12 fields removed entirely (redundant with SSO + HRIS import)

BEFORE — THE WALL

Step 1 of 12 · 90 fields visible across the flow

AFTER — THE FIRST UNBLOCK

That's enough to run your first payroll. The rest can wait.

Step 1 of 3 · 14 fields, each tied to a milestone

THE NEW FLOW — "MILESTONES, NOT STEPS"

1

Your people

2

Bank & tax

3

First run 🎉

Each milestone ends with a visible payoff: a live preview of a pay stub, a test deposit notification, a simulated first run. Progress is never lost — users can leave and resume from any device.

DECISION 02

Replace steps with milestones — and pay users off along the way.

The old flow gave zero feedback for 11 minutes of typing. The new one rewards every completed milestone with something tangible: a rendered pay stub, a bank-link confirmation, a "you're ready" moment. We tested four reward moments in moderated sessions; the pay-stub preview was the only one that consistently changed behavior — people who saw it kept going unprompted.

We also wrote the microcopy in plain finance-lead language. "Tax registration identifier" became "your company's tax number — the one on your registration letter." Error rates on that field dropped by 40% in testing.

DECISION 03

Design the stall, not just the success path.

We knew some users would still get stuck — usually on bank verification. So instead of a dead-end error, we built a recovery layer: a "stuck?" button on every field, a self-serve video explainer per milestone, and a one-click handoff to a human onboarding specialist with full context of where the user stopped.

This was the most under-budgeted part of the project and the one the CS team loved most. It turned "support ticket archaeology" into a warm transfer with a complete context card.

THE RECOVERY CARD — WHAT SUPPORT SEES

AC

Acme Analytics · Stalled 2h ago

Milestone 2 — Bank & tax

People imported (14 employees)
Pay schedule set (bi-weekly)
Bank verification failed — "routing mismatch"
First payroll run
Open live session Send explainer

Every field-level event is logged, so the specialist never asks "where were you?"

03 — Craft

The details that made a utilitarian flow feel human.

01

A type system that respects the data

Numbers are the product. We set all monetary values in a tabular mono, gave pay-stub previews real typographic hierarchy, and let the interface stay quiet so the money could speak.

02

Motion with a job

One 300ms transition language: fields slide, milestones check off, the progress ring fills. Nothing decorative — every animation answers "what just happened and where am I now?"

03

A system the team can extend

Shipped as 48 documented components in Figma + a Storybook library. Six months on, the team has self-serve added 3 new milestones without a designer in the loop — which was the point.

"Mara didn't just hand us screens. She handed us a system we actually use, and an onboarding our customers stop complaining about. That's rare."

DK

Dana Kowalski

Head of Product, Meridian

TESTING CADENCE

Week 3 — 11 user interviews11
Week 6 — Flow prototype sessions8
Week 9 — Copy + recovery tests12
Week 12 — Beta with 6 live accounts6

04 — Results

Shipped in week 14. Measured for a full quarter after.

31%

drop-off at onboarding — down from 68%. The single biggest activation win in the company's history.

2.9×

faster time-to-first-payroll: from a median of 9 days to 3.

−57%

onboarding-related support tickets in the first 60 days post-launch.

9.1

median onboarding NPS, up from 4.2 — and the only 9+ score in their product suite.

ONBOARDING COMPLETION — OLD vs NEW (ROLLING 90 DAYS)

Legacy 12-step flow32%
Milestone flow (v4.0)69%

Completion = company reaches its first successful payroll run. Source: Meridian product analytics, Q1 2025.

What I'd do differently

Instrument the recovery layer in week 1, not week 8. We learned late that 40% of "abandoned" users had actually been waiting on bank verification — a metric that would have reshaped the roadmap earlier.

What stuck

The "unblock first" principle became Meridian's product mantra. New features now get scored against: what does this unblock, and when does the user see it?

The takeaway

Onboarding isn't a form. It's a promise being kept in real time. Every field should be able to answer why it's there — or it doesn't belong before the first win.

Next Step

Have a flow that's quietly losing you users?

I'm currently booking one product engagement for Q3 2025. If your activation, onboarding, or checkout numbers aren't telling the story you want, let's find out why.

hello@maraellison.design · Portland, OR · Working with teams worldwide