Skip to content
Home/Work/Rebuilt onboarding for a payments scale-up
[ A funded payments scale-up ]

Rebuilt onboarding for a payments scale-up

FintechMobile + WebSaaSA funded fintech was losing users in a clunky sign-up split across three vendors. We unified the experience under one team and re-architected the funnel end to end.

62%
less drop-off
9 wks
to launch
Tech stack
ReactNext.jsTypeScriptNode.jsPostgreSQLStripeVercel

The challenge

The client had grown fast — fast enough to stitch together a sign-up flow across three separate vendors: one for identity verification, one for bank-account linking, and a bespoke internal portal for merchant configuration. On paper, it worked. In practice, 62% of users who started the process never completed it.

The drop-off wasn't random. It happened at the same two handoffs every time — the jumps between vendor iframes, where branding broke, state was lost, and the experience suddenly felt untrustworthy to anyone being asked to hand over banking credentials. Support tickets echoed the same themes: "I didn't know if it was safe to continue" and "the page looked different so I stopped."

The team had tried patching the edges. New copy, revised email sequences, a progress indicator bolted on. None of it moved the number meaningfully, because the underlying problem was architectural: three vendors meant three contexts, three session models, and no single team with ownership of the full flow.

What we built

We embedded as a single cross-functional team — product, engineering, and design — and owned the funnel end to end for nine weeks.

The first two weeks were diagnosis. We mapped every step in the existing flow, instrumented drop-off events with the precision of a funnel tool (not just pageviews), and ran five usability sessions. The pattern was clear: users needed to feel they were in one coherent product, not being handed between systems.

The rebuild unified the three vendor integrations behind a single Next.js frontend. Identity verification moved to an embedded SDK rather than a redirect. Bank-account linking used Plaid's Link component rendered within our application shell, not in a separate window. Merchant configuration was rebuilt in React with a shared design system — the same fonts, colours, and component patterns used across the rest of the product.

On the backend, we introduced a single onboarding-state service in Node.js backed by PostgreSQL. This meant a user's progress was persistent and resumable: drop off after step two, get an email, come back two days later, and pick up exactly where you left. The old flow had no concept of resumption.

We also enforced progressive disclosure. The new flow showed users only the next step they needed to complete, with explicit context about what was being asked for and why. Legal copy was pulled out of modal footnotes and surfaced inline, adjacent to the field it applied to.

The outcome

Drop-off fell 62% within the first two weeks of launch. Completion rates for the bank-linking step — historically the worst in the funnel — improved most dramatically, which matched exactly what the usability sessions had predicted.

Support tickets related to onboarding dropped by roughly half in the first month, reducing load on the merchant success team without any headcount change.

The nine-week timeline was tight. It held because one team owned the whole surface: we didn't need to coordinate across three vendor roadmaps to ship a change. That consolidation turned out to be as valuable an outcome as the funnel number itself.

Ryens took a mess of three separate vendor flows and turned it into something we're actually proud to show merchants. The funnel improvement was immediate and significant.
Priya AnandCPO, payments scale-up

Got an idea? Let's ship it.

Tell us what you're building. We'll come back with a clear scope, a real timeline, and the senior team who'll actually build it.