Amazon Case Study

A verification system saving $27-51M per year

Dependent verification system screens

Overview

I redesigned Amazon's dependent eligibility verification, flipping the model from "block until verified" to "cover immediately, verify in background." Worked with engineering, legal, and operations to ship across web, mobile, and agent tools.

Goals:

  1. Reach 80%+ verification completion within the window.
  2. Protect plan integrity without a company-wide audit.
  3. Remove coverage anxiety for the eligible majority.
Lead Product Designer
End-to-End UX Design, Service Design, Multi-Surface System
PM, 4 Engineers, Researcher, Legal
Phased launch, 2026

The Challenge

What was happening

Picture someone who just got married, adding their spouse to their health plan. Adding a dependent happens in one system. Enrolling in benefits happens in another. The two don't talk to each other, so a single task, "add my family member and keep them covered," was already split across disconnected places.

"I got married last month and I need to add my spouse to my benefits. I'm not sure what the process is or what documentation I need to provide. Can you help walk me through it?"

Real support contact. Life-event queries like this took 39% longer to resolve than average.

Then it got worse. If the dependent was flagged for verification, the only path forward was "Contact HR." The employee left the flow, opened a support case, and got into back-and-forth conversations with an agent to work out what to submit and whether it passed. There was no self-service way to upload a document, and no visible status anywhere. Coverage sat in limbo while the emails went back and forth.

The before flow: add dependent, get flagged, forced to Contact HR, open a manual case, endless email back-and-forth, coverage in limbo, enrollment a separate disconnected system

The before journey: a task split across separate systems, an HR-case detour with no self-service, and no visible status the whole way through.

An audit flagged a meaningful share of enrolled dependents as potentially ineligible, a real cost risk to the health plan. But the process built to catch that was doing collateral damage: 72% of the people it flagged were actually eligible. They just couldn't get through it.

Reduce ineligible benefit spend while maintaining employee trust.

Know my dependent is covered while I gather verification documents.

Problem to solve

The task spanned disconnected systems and a manual HR case, with no shared status. Employees couldn't self-serve and couldn't see where they stood, so even eligible families crawled through it while coverage sat in limbo.

72%

of flagged employees turned out to be eligible. The process, not real ineligibility, was the barrier

Research

The number that reframed everything wasn't about who failed to respond. It was how long the task itself took. Adding a dependent and getting them verified meant hopping across separate systems and page after page, and while an employee did all that, the dependent had no coverage. The delay was the problem, not the people.

One task, scattered across systems

Adding a dependent and getting them verified meant weaving through page after page across separate systems.

The whole time, the dependent had no coverage. The delay was the pain, not the people.

8+ pages to verify
one dependent
3 separate systems
to move between
2 days to clear
each review
Enrolment Dependents & Beneficiaries My Docs 1 2 3 4 5 6 7

One task, seven stops, three systems, and it still ends with coverage pending.

When we traced a real case end to end, the task never sat still in one place. An employee started in the benefits portal, got bounced into an HR case, jumped out to a policy article to check the rules, then back again to see whether the dependent had coverage yet. Each hop was a fresh page, a new system, and no shared status carried between them.

Employees taking a long time, read as people dragging their feet or hiding ineligible dependents.

One task scattered across systems with no shared status, so it simply took a long time to finish, longer still when flagged.

Four barriers came up again and again:

The reframe

The slow-down wasn't reluctance, it was friction. Pull the task into one place, give people a status they can see, and the same eligible families would get through far faster.

8+ pages

across 3 separate systems to verify one dependent, so the design goal was to collapse that into one clear path

How might we

How might we make verification feel like one clear, self-service journey, when the systems behind it are separate and can't be merged?

30 days

Verification window proposed, giving employees time to gather documents without losing coverage

Design Strategy

The first instinct was to block higher-risk cases at enrollment until they verified. Efficient on paper, but it delayed coverage for legitimate families and singled out some groups more than others. So we flipped it: everyone gets covered immediately, and verification runs in a 30-day window in the background.

Before committing, I put four approaches on the table with the tradeoffs spelled out, so the decision was made with eyes open, not by gut.

ApproachUpsideCost
Block until verifiedStops every ineligible enrolmentDelays coverage for the eligible majority
Cover now, verify in 30 daysImmediate coverage, time to gather documentsBrief exposure on a few ineligible cases
Cover now, verify in 60 daysMost flexibility for employeesLonger exposure window
Verify at next enrollmentLeast disruptionA full year of potential ineligible coverage

The options I brought to Benefits Science, Legal, Operations, and leadership. We aligned on the 30-day window together.

That flip became the whole design: dependents get immediate coverage while a 30-day window runs in the background. Every touchpoint answers the three questions employees actually ask.

  1. "Is my dependent covered right now?"
  2. "What exactly do I need to submit?"
  3. "What happens if I miss the deadline?"
User flow: add dependent, immediate coverage, 30-day upload window, review, verified

The redesigned flow: immediate coverage with verification running in the background over 30 days.

The real constraint

I couldn't merge the systems. Adding a dependent, uploading documents, and enrolling would stay in separate tools, and the upload itself still lived in a different internal portal. Rebuilding that architecture wasn't on the table.

So instead of forcing everything into one system, I designed a consistent status layer across every benefits touchpoint. Wherever an employee looked, the enrollment page, the dependent's profile, the benefits home, they'd see the same thing: this dependent's verification status, a plain-language message about what it meant for coverage, and the days left to submit. The document upload could stay where it was, as long as the status and the countdown followed the employee everywhere else.

Working toward it

Getting to that answer took a few wrong turns first. Early on I tried explaining the cover-first model with a bottom sheet that popped up over the enrollment page, and building the process into the dependent's profile as a step-by-step tracker. These are rough screens, closer to thinking out loud than final work. Each one made the process legible in a single spot, then showed me its own limit: a sheet you dismiss and a tracker on one page both left the rest of the journey blank. That is what pushed me toward carrying the status everywhere instead of parking it in one place.

An early exploration: a bottom sheet titled Document review required slides up over the enrollment page, explaining that dependents are enrolled immediately and documents must be uploaded within 30 days, with Submit documents and Submit later actions
1Bottom sheet explainer
The enrollment page behind the sheet: the family list shows the spouse and children, with a Documents required tag and an inline amber note to upload verification documents within 30 days
2The page behind it
Another early exploration: the dependent profile with a Verification Needed tag and a four-step tracker on Step 1 of 4, Dependent Added complete, prompting a document upload
3Tracker at the start
The same tracker exploration later on: a Verification in progress tag and the tracker advanced to Step 3 of 4, with Dependent Added and Awaiting Document Upload complete and Document Verification underway
4Tracker mid-process

Early exploration: a bottom sheet to explain the 30-day model, and a step tracker on the dependent's profile. Both worked in one spot but left the rest of the journey blank, which is what pointed me at a status that follows the employee everywhere.

Solution

The systems stayed separate, but the story stopped being fragmented. Coverage starts the moment you add a dependent, and every benefits touchpoint shows the same status, the same plain message, and the same countdown, with a deep link out to upload when you're ready.

Every state, in plain language

Coverage is live from the moment you add a dependent, so no status ever means "you're not covered yet." Each one tells you where you stand, what it means for your family, and the single next step.

Benefits selection: Tammy's status reads Documents required, with an amber note that she has temporary coverage and 30 days to upload documents
1Documents required
Benefits selection: Tammy's status reads Documents in review, with a blue note that she has temporary coverage while documents are reviewed
2Documents in review
Benefits selection: the spouse's status reads Not approved, with a red note that the submitted documents were not approved but temporary coverage continues for 30 days while new documents are submitted
3Documents not approved
Benefits selection: a family with two dependents at different stages, one needing documents and one not yet approved, both covered temporarily and explained in a single combined note
4A family, mixed statuses

Every status the enrollment page can show, at a glance. Coverage stays active throughout, so the states reassure rather than alarm.

The same status, everywhere you look

The systems behind this never merged. What made it feel like one journey was a status layer that reads identically wherever the employee lands. Step through each status below and watch it hold its shape across every touchpoint, from the enrolment page to the post-enrollment confirmation, saved choices, and the family page.

One status, shown across every touchpoint. The words, the colour, and the countdown match wherever the employee looks, so nothing has to be relearned between screens.

Walk through the interactive prototype The cover-first flow and status layer, clickable in Figma

Reminders that respect attention

A single email blast would get ignored or mistaken for spam. Instead, reminders layer across the surfaces people already use, escalating only as the deadline nears. Act early and you see just one message. Leave it late and the nudges get more direct.

Enrollment banner, a status indicator on the dependent's profile, and suggested actions on the benefits homepage.

A personal email with the dependent's name, the exact deadline, and one clear action, seven days out.

Agent tools

Supporting employees at scale meant equipping agents with the right tools too. The admin console was updated so support agents could see verification status in real time, extend a window when someone needed a few more days, and step in without escalating.

Rollout

The system shipped in phases across the US employee base, starting with a single-state pilot and expanding outward. Each phase validated the experience before widening the population, so problems surfaced small rather than all at once.

Launched to a single state to validate the cover-first flow end to end across web, mobile, and agent tools.

Rolled out to eight more states, reaching roughly 57% of US employees, with coverage terminations for unverified dependents going live.

Why phased

A staged rollout let the team confirm the experience held up before scaling. No critical issues surfaced across the pilot or expansion populations.

750K+

employees covered by verification after Phase 2, on track for full national rollout

Impact

81.8%

Verified eligible in the pilot

The single number that proved the thesis. The people the old process flagged weren't ineligible, they were stuck in the friction. Remove it and the vast majority sail through.

~60%
Reduction in ineligible enrolments
$27-51M
Projected savings per year
750K+
Employees covered after Phase 2

What I learned

The metric was friction, not reluctance

Slow completions read as people dragging their feet. Tracing one task across every system it touched showed the design was making them wait. That reframe changed the whole approach.

Compliance and experience aren't opposites

Legal needed verification, employees needed trust. Covering first and verifying after satisfied both instead of trading one for the other.

Design the communication layer first

Coordinating reminders across app, portal, and email was harder to align than any single screen. I'd lock that architecture with stakeholders even earlier next time.

Work with the systems, don't rebuild them

The biggest unlock wasn't merging the tools, it was navigating the ones we had. A consistent status layer across the existing surfaces gave people one clear journey without re-architecting anything underneath, which is what made it shippable.

What I'd do differently

Test the email copy with real employees before launch, design mobile-first from day one, and give people a document checklist when they add a dependent, not only when verification starts.

Next time

Smaller bets, tested earlier, on the surface where people actually complete the task.

Next Case Study

AI Health Benefits Assistant →