Client

Stripe

Role

Lead Product Designer

Direct Reports

0

Redesigning Stripe’s Mobile Risk Review Workflow

Simplifying high-stakes fraud decisions in a complex, data-heavy product

Simplifying high-stakes fraud decisions in a complex, data-heavy product

Simplifying high-stakes fraud decisions in a complex, data-heavy product

Overview

  • Global financial services organisation

  • Mobile review experience no longer supported fast, high-confidence decisions

  • Led the redesign of Stripe’s mobile risk review workflow for flagged payments

Overview

  • Global financial services organisation

  • Mobile review experience no longer supported fast, high-confidence decisions

  • Led the redesign of Stripe’s mobile risk review workflow for flagged payments

My responsibilities

  • Owned the end-to-end product design across workflow, IA, and key mobile screens

  • Defined decision paths, state models, and interaction patterns for edge cases

My responsibilities

  • Owned the end-to-end product design across workflow, IA, and key mobile screens

  • Defined decision paths, state models, and interaction patterns for edge cases

▷ Team

  • Me (Lead PD), tech lead, 3 engineers

  • Also included cross-functional stakeholders across policy, support, and platform and data science and risk operations partners


▷ Team

  • Me (Lead PD), tech lead, 3 engineers

  • Also included cross-functional stakeholders across policy, support, and platform and data science and risk operations partners


▷ Outcome

  • Reduced median review time by 32%

  • Increased first-pass resolution by 21%

  • Improved decision consistency across reviewers by 18%

▷ Outcome

  • Reduced median review time by 32%

  • Increased first-pass resolution by 21%

  • Improved decision consistency across reviewers by 18%

▷ The Challenges

As Stripe’s fraud operations grew in volume and complexity, the mobile review experience became harder to use in the moments that mattered most. Reviewers were expected to make fast, high-confidence decisions while working across fragmented signals, overlapping system states, and limited screen space. Critical context — like transaction history, account behavior, risk signals, and prior actions — was available, but not organized in a way that supported quick judgment. On mobile especially, the workflow often exposed too much raw information without enough structure, making it harder to understand what was happening, what action was appropriate, and what the downstream consequences would be.

The challenge was not just simplifying the interface, but redesigning the workflow so complex decisions could be made more clearly, consistently, and efficiently under pressure.

▷ The Challenges

As Stripe’s fraud operations grew in volume and complexity, the mobile review experience became harder to use in the moments that mattered most. Reviewers were expected to make fast, high-confidence decisions while working across fragmented signals, overlapping system states, and limited screen space. Critical context — like transaction history, account behavior, risk signals, and prior actions — was available, but not organized in a way that supported quick judgment. On mobile especially, the workflow often exposed too much raw information without enough structure, making it harder to understand what was happening, what action was appropriate, and what the downstream consequences would be.

The challenge was not just simplifying the interface, but redesigning the workflow so complex decisions could be made more clearly, consistently, and efficiently under pressure.

Reframing the workflow around decisions, not records

The legacy experience was organized around transactions as isolated records. In practice, reviewers were not just looking at payments — they were trying to answer a sequence of questions:

  1. What is happening?

  2. How risky is it, really?

  3. Do I have enough evidence to act?

  4. What action is appropriate for this case?

  5. What happens next if I choose this path?

The old UI made users hunt across disconnected surfaces to answer those questions. I redesigned the flow around a clear decision model:

  • queue → case assessment → evidence review → action → follow-through

This reorientation sounds subtle, but it changed the product from being a dense collection of data panels into a guided operational system.

(note the designs shown here are not final for confidentiality reasons)

Reframing the workflow around decisions, not records

The legacy experience was organized around transactions as isolated records. In practice, reviewers were not just looking at payments — they were trying to answer a sequence of questions:

  1. What is happening?

  2. How risky is it, really?

  3. Do I have enough evidence to act?

  4. What action is appropriate for this case?

  5. What happens next if I choose this path?

The old UI made users hunt across disconnected surfaces to answer those questions. I redesigned the flow around a clear decision model:

  • queue → case assessment → evidence review → action → follow-through

This reorientation sounds subtle, but it changed the product from being a dense collection of data panels into a guided operational system.

(note the designs shown here are not final for confidentiality reasons)

Consolidating fragmented signals into a single case narrative

One of the biggest problems was fragmentation. Reviewers had to piece together context across payment details, customer profile history, risk flags, device signals, merchant behavior, prior disputes, and internal notes. The information existed, but it was not structured for decision-making. I introduced a case summary layer at the top of the workflow that synthesized the most decision-relevant context: -case priority -review reason -risk confidence -amount at risk -account history snapshot -key anomalies -recommended next step Below that, I organized the rest of the page into three clear zones: -context — who/what is involved -evidence — why the case was flagged -actions — what the reviewer can do next This reduced premature deep-diving and helped reviewers orient before scanning raw details.

Consolidating fragmented signals into a single case narrative

One of the biggest problems was fragmentation. Reviewers had to piece together context across payment details, customer profile history, risk flags, device signals, merchant behavior, prior disputes, and internal notes. The information existed, but it was not structured for decision-making. I introduced a case summary layer at the top of the workflow that synthesized the most decision-relevant context: -case priority -review reason -risk confidence -amount at risk -account history snapshot -key anomalies -recommended next step Below that, I organized the rest of the page into three clear zones: -context — who/what is involved -evidence — why the case was flagged -actions — what the reviewer can do next This reduced premature deep-diving and helped reviewers orient before scanning raw details.

Made state complexity explicit instead of hiding it

A major source of error came from invisible transitions. A payment could be pending, challenged, captured, refunded, partially refunded, blocked, or already escalated. A case could be open, snoozed, assigned, awaiting documents, escalated, or resolved. A merchant account could have separate restrictions that changed what actions were allowed.

Previously, the interface surfaced those states inconsistently, forcing reviewers to infer what was actionable.

I designed a state model that made operational status explicit at every level:

  • object state — payment, charge, account, dispute, payout

  • workflow state — unassigned, in review, escalated, waiting, resolved

  • decision state — enough evidence / ambiguous / blocked from acting

  • system state — action available, action restricted, action already taken

This mattered because the design challenge was not visual polish; it was preventing contradictory or high-risk actions.

The new design used status grouping, dependency rules, and inline consequences to make the system legible.

Made state complexity explicit instead of hiding it

A major source of error came from invisible transitions. A payment could be pending, challenged, captured, refunded, partially refunded, blocked, or already escalated. A case could be open, snoozed, assigned, awaiting documents, escalated, or resolved. A merchant account could have separate restrictions that changed what actions were allowed.

Previously, the interface surfaced those states inconsistently, forcing reviewers to infer what was actionable.

I designed a state model that made operational status explicit at every level:

  • object state — payment, charge, account, dispute, payout

  • workflow state — unassigned, in review, escalated, waiting, resolved

  • decision state — enough evidence / ambiguous / blocked from acting

  • system state — action available, action restricted, action already taken

This mattered because the design challenge was not visual polish; it was preventing contradictory or high-risk actions.

The new design used status grouping, dependency rules, and inline consequences to make the system legible.