Capital One · iOS · 2021

QR Code → Tap-to-Pay, in one sitting.

Capital One shipped premium cards with a QR code on the carrier. The code worked. Nothing inside connected. Customers had to find Presto, set up Face ID, provision Apple Wallet, and enable notifications across five disconnected moments. I collapsed it into one.

My role
UX Designer · iOS flows lead
Platform
iOS · Capital One Mobile
Timeline
~5 weeks · Sept – Oct 2021
Delivered
Prototype-ready · 2 scenarios
iOSBiometric AuthApple WalletFintechFIDO2
Capital One iOS — QR scan entry point Presto setup primer — Set up with just a tap Presto Tap — dark-mode card-on-phone confirmation Face ID enrollment — FIDO2-compliant
5→1
Disconnected moments collapsed into one continuous flow
2
User scenarios designed end-to-end with one divergent step
20+
iOS screens specced, annotated, and prototype-ready
~5w
From kickoff to engineering handoff. Solo design lead.

One scan. One sitting. Card active.

A customer receives a new Venture X in the mail. They scan the QR code on the carrier. The goal: by the time they put the phone down, the card is activated, Presto tap-to-pay works, Face ID is enrolled, Apple Wallet is provisioned, and push notifications are on. No app navigation. No second sitting. No support ticket.

"Set up with just a tap. It's like magic." — the north star for every screen.

Optimize for invisibility, not features.

The biggest design choice wasn't what to show — it was what to not show. Silent Mobile Auth could authenticate enrolled customers invisibly during the Presto tap. No "Verifying your identity…" screen. No loading state. The Presto gesture itself became the cover for authentication.

Everywhere I could remove a step, I did. Where I couldn't — credential creation for non-enrolled customers — I framed it as a milestone, not a checkpoint. The flow had to feel like one continuous gesture, even when it diverged.

Same card. Same QR. Different histories.

Every Capital One customer holding a Venture X carrier had one of two profiles. The flow had to handle both gracefully — without a jarring branch or asking customers to identify themselves upfront.

Scenario A

Digitally enrolled. SMA authenticates silently.

Existing online credentials. The app verifies identity in the background during the Presto tap. From the customer's side, nothing happens — the flow just advances. Speed and delight.

Pivot: invisible auth during tap
Scenario B

Not digitally enrolled. Credentials surface as a moment.

Phone-and-mail customers, never online. SMA can't verify them. Credential creation surfaces at exactly the divergent step — celebrated with an Enrollment Success screen before continuing into Presto.

Pivot: credential creation as milestone

The whole flow on one wall.

Before any screen got polished, the team needed to see the journey end-to-end — both scenarios, every system dialog, every divergence. I built this annotated horizontal flow in Figma as the single source of truth: every step numbered, every screen captioned, every handoff point documented. Engineering used it for handoff. Stakeholders used it to give one round of feedback instead of seven.

QR Code + Presto activation — full annotated 7-step flow chart

7 steps: QR code on carrier → App Store → deep link to Presto Setup → Presto tap → silent mobile auth + identity verification → Face ID (FIDO2) setup → success state (card activated, digital enrollment complete).

Eight screens. One uninterrupted gesture.

The core experience plus the closing surfaces. QR scan → primer → tap → biometric → silent auth → device pay → Apple Wallet success → activated home state. The system dialogs and Apple Pay provisioning screens are where the iOS native experience hands off — and where most flows lose the customer. These were designed to feel like one continuous moment.

QR Scan
01 · QR Scan
Presto Primer light mode
02 · Setup Primer
Presto Tap dark mode
03 · Tap to Set Up
Face ID enrollment
04 · Face ID
Device Pay Start
05 · Device Pay
Apple Pay Success
06 · Wallet Added
Presto Education branded screen
07 · Presto Primer
Activated home state
08 · Card Active

Six decisions, in order of how much they mattered.

01 · Deep-link to context
Route the QR to the Presto Setup screen, not the app home. Most customers wouldn't find Presto on their own. Default behavior was a $0 customer.
02 · Invisible auth
SMA fires during the Presto tap. The gesture is the cover. No loading spinner, no "verifying" screen, no friction visible to the customer.
03 · Light primer + dark tap
Two screens for one moment. Primer educates, tap confirms. Same screen trying to do both jobs loses both — too dramatic to explain, too explained to feel premium.
04 · Milestone, not checkpoint
Credential creation for Scenario B framed as "Enrollment Success", not "Please create a password." Forward-facing language, completion-celebrated, then carry momentum into Presto.
05 · Fallback inside success
The "what if Face ID breaks" education embedded inline in the success screen, not as its own step. The right time to mention the exit is after the customer's settled in — not when the alarm's gone off.
06 · Show the actual card
Personalized card art surfaced where possible — customer's real Venture X, not a generic placeholder. Subtle trust signal. Scoped as a future iteration; the hook is in place.

Prototype-ready. Handed off. Then I left to build.

20+ specced screens across both scenarios, all system dialogs, edge-case states (notifications previously denied, credential error paths), and a documented Figma file ready for engineering handoff. The fragmented activation journey was now one continuous gesture, designed as a single product moment instead of a sequence of disconnected ones.

Senior signal — being honest

If I were doing this today, I'd cut the App Store variants — the brief had four (Not Installed Yet, Ready to Open, Install Prompt, Install Complete) where one was enough. Default to the system. I'd also fight harder on personalized card art — descoping that to a "future iteration" was the wrong call. It was the cheapest delight in the flow.

Next project
Stack.so · SocialFi launch consulting