Inside the design of Plaid Link


Back when we first started Plaid, we set out to build APIs that would provide the most seamless way possible for developers to integrate with financial institutions. That might not inherently sound like an opportunity for design, but as more and more developers started using our platform, more and more of them needed help building onboarding and bank login experiences for their apps. So we figured we’d build that, too.

Institution selection to a successful connection. The simplest of the many user-flows Plaid Link supports

We launched Link, a drop-in module that handles credential validation, multi-factor authentication, and error handling in May 2015. Since then, millions of consumers have connected their bank account to Plaid. And in that span, we realized what was once a solution for smaller, independent teams is also really critical for companies of every size.

When we first built Link, we had a couple priorities. First, we wanted to create a quicker, simpler way to integrate with the Plaid API, so developers could get their apps built faster. Second, we wanted to provide some security best practices, as handling bank credentials is sensitive, tricky business. But at that time, design-wise, we were still mostly going by intuition, and I’m not sure we would have ever predicted that Link would become the account linkage system trusted by millions of people. We’ve learned a lot since then, as we took a deeper dive to understand what it would take to get all of our customers on Link.

The first version of Plaid Link. Originally launched close to 3 years ago

That’s why, in recent months, we’ve been doing a massive push to improve Link. In order to scale to millions more users—and businesses—Link needs to be at once more flexible and more consistent, to serve the needs of any particular app while ensuring it’s recognized by consumers, who look for Link to make sure their connection is safe.

Here’s what we’ve shipped, why, and what’s next.

A unified experience across desktop and mobile devices

A huge part of earning and keeping user trust is creating consistency across experiences. Now that millions of consumers have gone through the Link flow, some multiple times, it turns out that many of them now expect to see Link when they onboard new fintech experiences. This was something we admit we didn’t totally appreciate when we launched Link. So although we made it possible for applications to integrate Link with just a few lines of code, no matter the platform, it was definitely a different experience for consumers across desktop and mobile.

To unify the experience no matter where it's encountered, we rebuilt the design system that defines the graphical and interactive elements within Plaid Link from scratch. From typography to iconography, border radii to buttons, every detail of Link’s interface is carefully considered.

Select Android, Desktop, and iOS interface elements users encounter in Link

As a guiding principle for the design of Link’s user interface, we’ve coupled the style of an institution’s brand with that of the Link platform to promote a strong sense of familiarity and comfort when users connect their banks to an app.

Connecting your Citi account to an Android app? Every single aspect of the brand and platform has been carefully studied. From Citi's blue to Material Design’s UI paradigms, there’s no detail too small for us to incorporate. Even the input labels match exactly what users read when logging into their account on Citi’s website and mobile apps.

The Credential View on Android and the system used to create it

Added customization

Because Link is a key part of onboarding users, it’s really important that it fit seamlessly with our customers’ applications. While many customers depend on Link for its technical and security benefits, we’ve also heard that visually it’s helpful for consumers to “Look for Link” to ensure they can trust the experience. But we also know it’s important to leave room for customization.

We launched the first part of customization in July, making it possible to customize copy to communicate with users throughout the account linking process. Since then, we’ve also added the ability for developers to make design and institution customizations to better tailor the Link experience to their product and user base.

Deeper user insight

Equally important, we realized, was ensuring that developers have transparency into what’s happening in Link, just as they’d know what’s happening with conversions across the rest of their onboarding flow.

In September, we released the onEvent callback to give developers real-time information as their users move through the Link flow. We wanted to continue to give developers control and choice, so we made sure that Link Analytics works seamlessly with existing analytics and data solutions.

At Plaid, we think everyone deserves a better experience interacting with their wallet, including making things more convenient, more secure, and more beautiful. We’ve long thought that the best way to scale that is by making it as easy as possible for developers to build innovative solutions. The way users link their accounts — and, more fundamentally, consent to transfer their personal banking data — is a key piece of delivering on our mission by empowering everyone to control their financial data. That’s why we’re excited about the progress we’ve made with Link so far, and all the work still to come.