DWS serves the people who keep card disputes moving: call-center agents taking the first call, fraud analysts investigating suspicious activity, dispute processors working queues, and compliance officers auditing every decision. The legacy system they relied on had grown brittle, slow to navigate, easy to get wrong, expensive to train on.
Redesign a legacy dispute-management system to reduce operational costs, improve accuracy, and maintain regulatory compliance. The defining constraint was balance: speed up routine work without making decisions harder to trace.
Create a user-centered dispute management experience that reduces cognitive load, accelerates accurate decisions, and keeps accountability visible across the full lifecycle.
As the UX designer on the Disputes Workspace modernization, I owned the complete design lifecycle, from research and strategy through delivery and post-launch refinement.
As the sole designer on an enterprise application, I owned more than screens. I put UX into sprint planning, spoke for the four user roles in rooms where none of them were present, and pushed for clear decision trails before a single screen was drawn.
The legacy system increased processing costs, created compliance risk, and made customer calls harder. A visual refresh would not solve those problems. The workflow and information structure needed to change.
A misclassified dispute does not fail loudly. It clears intake, sits in the wrong queue, and surfaces weeks later as a Reg E deadline the bank has already missed. By then the institution eats the loss, the cardholder is still out their money, and a compliance reviewer is reconstructing what happened from screens that never agreed in the first place. With each agent holding 30 to 50 open cases against FCBA and Reg E clocks, a small wrong turn at intake compounded fast.
Agents classified disputes by hand while customers waited on the line. Misclassifications surfaced far downstream, where they were costly to correct.
Investigating a single case meant hopping between screens. No persistent context panel; key transaction data buried in unexpected places.
Routine disputes and complex ones flowed through the same one-at-a-time workflow. No bulk actions, no intelligent routing, no prioritization.
Agents, analysts, processors, and compliance officers all used the same screens, optimized for none of them, with weeks of training to compensate.
Due to client-access constraints and the enterprise B2B nature of the system, direct research with call-center agents and processors wasn't feasible. I built the evidence base through every channel I could get: internal stakeholders and subject-matter experts with deep domain knowledge of dispute operations.
Extensive sessions with product managers, operations leaders, and compliance officers with direct visibility into user pain points.
Design walkthroughs with subject-matter experts who understood end-user workflows, validating patterns before they hardened.
Reviewed system documentation, workflow diagrams, and operational reports to map the current state and its failure points.
"I just want the system to guide me so I don't mess up. I don't have time to look up rules while a customer is on the phone."
Research constraint: I could not observe agents directly. I treated stakeholder findings as assumptions, then checked them through SME walkthroughs and post-release feedback.
SMEs described agents under pressure to work quickly while fearing costly mistakes. The design had to optimize for both speed and confidence, not trade one for the other.
SMEs reported agents would not act on vague system guidance. They needed to understand why the product suggested a path, what evidence supported it, and when to slow down.
Rather than compromising on a middle-ground solution that satisfied no one, the system needed role-specific experiences sharing a common design language.
A raw confidence percentage means nothing to someone deciding whether to trust a suggestion. Plain guidance, high, medium, low, and what to do about it, does. (See the design process for how this reshaped the confidence indicator.)
Research set the priorities. I mapped the information architecture, built reusable patterns, and tested high-fidelity flows, then carried them through requirements reviews, sprint refinement, QA feedback, and release validation. The design did not stop at handoff. It kept moving as engineering and QA pushed back and edge cases surfaced.
I established which information should be visible at each workflow stage and what could be progressively disclosed, the data-hierarchy decisions that made dense financial screens feel manageable. Interactive prototypes were validated through stakeholder reviews and SME walkthroughs throughout development, with QA collaboration catching edge cases early.
As the only designer, I defined the decision-support principles and designed the screens. I prioritized high-impact workflows, reused patterns, and validated decisions throughout delivery.
Initial confidence indicators used percentages ("85% confident"). Stakeholders flagged it: users would not know what action to take. I redesigned them as simple High / Medium / Low labels with contextual guidance, "High confidence: review and accept" vs. "Low confidence: manual review recommended." Technical accuracy matters less than actionable clarity.
Speed and accuracy pull against each other. Automate too much and analysts stop trusting the system; hold every case for manual review and volume collapses.
Assistance supports the intake work, and rule-bound automation handles approved, repetitive actions a human already signed off on. The human owns every judgment, the audit log records who decided what, and the boundary is always explicit.
Desjardins needed the whole workspace in Canadian French. French runs longer than English, so dense tables and forms that fit in one language broke in the other. Rather than patch screens one by one after translation, I externalized every UI string and built layouts that held their shape under text expansion.
Desjardins and Target were converting at the same time, each with their own reason-code coverage, permissions, and edge cases. I designed the patterns to absorb client-specific needs through configuration, so two large issuers could go live without forking the product into one-off screens.
The solution was not one clever screen. It was a lifecycle workspace where intake, validation, investigation, chargeback, queues, reporting, and audit lived in one system. Agents could move a case forward without stitching together context from separate tools.
Assistance helped at the intake edge, where the work was slow and mechanical. The broader design challenge was keeping that support inside a clear, auditable workflow where a person still owned the decision.
A dispute travels one path, intake to resolution. I mapped every stage to a single screen, the role that owns it, and a clear boundary for where the system supports the work and where a human decides, so the whole flow lives in one workspace instead of five disconnected systems.
Before a single screen, I restructured the app around the work users actually do, not the legacy system modules they used to juggle. Four top-level areas, each mapped to the lifecycle stages above and to the role that owns them.
The screens further down are a slice. The redesign reached across the whole dispute lifecycle, from how a case arrives to how it closes and gets audited. I designed or restructured each of these surfaces so the same patterns held end to end.
The agent or cardholder describes the dispute in plain language, and the system pre-fills the key fields: amount, date, merchant, dispute type. Each suggested value carries a High, Medium, or Low confidence cue, so the agent knows what to accept, verify, or override.
Result: agents focus on the customer instead of typing fields by hand. No repetitive questioning, no manual lookup.
Agents can see exactly what the cardholder populated, transaction details and every question they answered during the dispute, without leaving the application. In the legacy system this meant breaking out to a separate place; here the full intake opens as a panel right over the case, with version history so the agent always knows which submission they're reading.
Result: no app-switching, no re-asking. The agent reviews and verifies the cardholder's own words in context.
Every intake records what the system suggested, what the agent accepted or corrected, and when the decision happened. For DWS, the important product move was simple: make the workflow faster without making accountability harder to reconstruct.
Result: compliance reviewers can trace the case, and product teams can see where intake still needs better support.
Read the AI-Assisted Dispute Intake deep dive →The system validates intake data against card-network rules in real time, for example, that a dispute is filed within the 60-day window for its transaction type. Errors get caught at intake, not three steps downstream.
Result: fewer classification errors and downstream corrections; analysts and processors spend their time on complex cases instead of fixing intake mistakes.
Disputes route to queues by classification confidence and complexity: auto-approve eligible, standard processing, or dedicated review. Processors clear routine cases in bulk and give complex ones real attention.
Result: routine cases clear in bulk and effort goes where it matters, on the complex disputes that need a person.
The legacy system offered a basic name search: a single field, no parameters, no keyboard support. The redesign replaced it with a composable search where agents type to add parameters (account number, name, phone, SSN), navigate with keyboard shortcuts, and combine criteria to narrow results precisely. Drop-down guidance surfaces valid formats inline so agents never guess what to type.
Result: agents find cases faster, fewer dead-end searches, no switching to a separate lookup tool.
Assisted suggestions are visually distinct: blue tints, lightbulb icons, confidence labels, and clear reasoning. Users can see why the system suggests a classification, what evidence supports it, and when a manual review is safer. The boundary is explicit: the system supports the work; humans decide.
Result: the interaction model made trust inspectable: every suggestion exposed reasoning, evidence, confidence, and a human override path.
During an investigation, evidence arrives from two directions: the card network and the cardholder. Agents needed one place to make sense of it. The Match Index lets an agent map each incoming document to the case, tag where it came from, and link it to the transaction or claim it supports, without leaving the workspace. Collapsible panels and contextual data keep the full transaction history in view while they work.
Result: complex investigations move faster, and evidence stays mapped to the case instead of scattered across inboxes and systems.
Each role gets an experience optimized for its job, navigation shows only relevant sections, workflows match mental models, while a single design system keeps maintenance sane and patterns transferable.
Transparency designed into every recommendation. Human agency in every decision. Interfaces that build trust because people can see the reason, choose the path, and leave a record behind.
Filing a chargeback used to mean a separate system and memorized network rules. I built it into the case: the system checks chargeback rights and network timeframes before the agent commits, surfaces only the valid reason codes for that scenario and network (Visa, Mastercard), and tracks representment and arbitration responses right on the case timeline.
Result: designed so junior agents can handle chargebacks with confidence, deadlines are less likely to slip, and routine cases no longer wait on a specialist.
A flagship Canadian client needed full English/French parity. Rather than retrofit it, I designed for it from the start: every string externalized for translation, and every layout pressure-tested for French text that runs roughly 30% longer, so labels, buttons, and table headers hold up without truncation or breakage in either language.
Result: built so the client could adopt without a late localization scramble, and so future-market expansion becomes a config change rather than a redesign.
A virtual analyst is a non-human operator. You define the actions it is allowed to take in the Action Editor, the queries that decide which cases it runs on in the Query Editor, then assign both to the operator. From there it works its assigned cases on its own. A client who needs an acknowledgement letter on every case does not staff that work, the virtual analyst sends one on each matching case. People set the rules and the boundaries, the operator handles the volume.
Result: rule-bound, repetitive work runs without a person in the loop, and agents spend their time on the cases that actually need judgment.
Not every dispute needs to travel the full chargeback path. When a cardholder disputes a charge, the workspace can send it to Ethoca, Mastercard's pre-dispute network, which notifies the merchant in near real time. The merchant can refund or cancel the order inside the alert window, and the dispute closes before a chargeback is ever filed.
Result: disputes can resolve at the source when eligible, so only the cases that truly need the formal process go there. The design aims at fewer chargebacks and faster outcomes for the cardholder.
Cardholders often report a charge while it is still pending, before it posts to the account. Agents used to have no way to act on an authorization that had not settled, so the dispute waited, or slipped through. Match Authorization Charges to the Transaction List reconciles pending fraud authorizations against the posted transaction list as charges settle. The agent notes the dispute now, the system watches for the post, and the charge is marked fraud on the case the moment it lands.
Result: agents act the instant a cardholder reports a charge, even before it posts, and nothing is lost in the gap between authorization and posting.
A supervisor codifies a filter once in the Query Editor, say every fraud transaction over $100, sets which roles can use or modify it, and publishes it. Agents pull that saved query into the Case Manager instead of rebuilding the same filter by hand, then apply a case action across every matching case at once. The Execution Results screen reports back case by case, what succeeded and what failed, so a bulk action never hides a quiet error.
Result: expertise written by the people who have it, reused by the whole team. Routine work clears in bulk, and accountability survives the scale.
Supervisors need to see aging risk, agent workload, and case status without switching tools. The dashboard surfaces all-account summary, open pending inventory bucketed by aging days (the view that catches cases before they miss a Reg E deadline), and real-time work-case queues with active and inactive agent counts. Team Productivity Summary charts average priority tasks per day and action breakdown per analyst, so supervisors see who is handling what without a separate reporting system.
Result: supervisors catch aging risk, see workload distribution, and track per-analyst output in one place. Accountability stays visible at scale.
I built a design system for dense financial workflows, using semantic color, system fonts, and more than 50 components across 12 core workflows.
The design system helped one designer support an enterprise application without losing consistency. Engineers could assemble new screens from documented components while preserving the same usability and accessibility standards.
The strongest verified outcome was workflow simplification. I anchor the case study on the metrics I can defend: tools consolidated, steps reduced, screens removed, navigation flattened, and tool switches eliminated.
* Metrics reflect the verified resume-supported DWS evidence set.
* These are verified workflow metrics from the DWS evidence set.
* Delivery and release-quality signals, not user-satisfaction claims.
Fraud analysts needed to see why the system flagged a case before trusting the recommendation. Explainability and override reasons became core interaction requirements.
Dispute processors needed routine cases to move faster without losing accuracy. Bulk actions and clearer intake validation reduced the amount of cleanup work pushed downstream.
Compliance teams needed every assisted action to remain traceable and defensible. The audit trail made accountability part of the workflow, not a separate review artifact.
The pattern was clear: trust depended on visibility and control. Suggested paths had to show their reasoning, humans needed an explicit override path, and every correction needed to remain traceable for future review.
The most important work happened above the screen level: deciding where assistance belonged, how people could trust it, and how four roles could share one system.
I worried that confidence labels and explanation details would overwhelm agents. SME feedback pointed the other way: what they could not use was vagueness, not detail.
Role-specific experiences sharing one design language beat a middle-ground compromise that satisfied no one, flexibility without fragmenting the system.
Strategic prioritization and a strong design system are what let one designer deliver an enterprise-scale application without quality collapsing.
Prototype confidence patterns earlier. Low-fidelity explorations of labels, guidance, and suggestion containers earlier in the process would have surfaced the percentage-confusion problem before hi-fi.
Document the system as thoroughly as I built it. The component library was comprehensive; its usage guidelines deserved the same rigor.
Study trust patterns beyond the domain. I researched dispute systems deeply but would invest more in how other enterprise products explain guidance, confidence, and human override.
The next layer is making aging cases, workload trends, and bottlenecks easier for supervisors to read before they become deadline risk.
Override and skipped-field patterns can still help the team tune the intake experience, but they belong as one signal inside the larger workspace, not the whole story.
Disputes Workspace was the hardest brief I have taken on: strict regulatory limits, one designer, enterprise scale, and teams who could not afford a wrong turn. It set how I work in high-stakes domains: make the system clearer, keep accountability visible, and help the person making the decision move with more confidence.