Case study

Interbank financial messaging

Swift

Service design for resolving international payment disputes, on a network that connects thousands of banks.

Senior UX Designer · La Hulpe · 04/2025 – 04/2026

Key result

Disputes that used to be settled over back-and-forth emails now run more often on a shared case, clearer for each party and quicker to move along.


Investigations dashboard of Swift Case Management, light mode: tabs by status (including 24 cases awaiting action), filters, and a list of disputes with counterparty, amount, status and remaining or breached SLA. Fictional data.The same Investigations dashboard in dark mode, with the same cases and the same status and SLA colour coding. Fictional data.

01 Case Management

Opening and tracking an interbank dispute.

Close-up on the panel that opens a dispute: from the payment reference alone, the interface retrieves its gpi status, amount, settlement date, the role of the bank opening the case and the type of transfer, none of which has to be typed again. Fictional data.The same retrieved-payment panel in dark mode. Fictional data.

Context

When an interbank payment does not arrive, the claim commits several institutions at once, each with its own deadlines and obligations. Handling it relied on a fragmented support model: one path per dispute type, and whole types still handled outside any tool. So the job went beyond screens: moving from fragmented support to a service, with a single claim cycle, from opening to closure, legible to every party.

Objectives

  • Cut resolution time — rework the whole claim cycle and extend coverage to the investigation types still handled outside the tool.
  • Make the state of a case legible — users track financial discrepancies and suspected fraud: at any moment they need to know who holds the case, what is expected of them and by when.
  • Hold the network's constraints — reconcile what the Swift network imposes technically with ways of working that differ from one institution to the next, from the US to Asia.
  • Stay extensible — deliver a base that absorbs the next investigation types without a redesign, within Swift's service quality strategy.
Close-up on the side column of a dispute: the payment-controls alert the case originated from (type, state, creation date, business unit, rule set, approval level) and, below it, the cases related to the same payment with their status. Fictional data.The same side column in dark mode: payment-controls alert and related cases. Fictional data.

Approach & solutions

  • Design Critique across business and IT — workshops with the Product Owner, legal counsel and technical architects. Interface trade-offs were settled there, with the people who carry the constraint.
  • User research — interviews with banks and financial institutions, to test the target journey against the real work of the teams that handle claims.
  • Prototype as a decision tool — a high-fidelity prototype used to settle questions in workshops, then to present the service to the banking community at SIBOS, the conference organised by Swift.
  • A team across three zones — project rituals run by a cross-disciplinary team between the US, Europe and Asia. With the time difference, decisions have to be written down: they cannot always be explained live.

Results

  • A shared case — what used to be negotiated over emails between parties now moves on a shared case: opening, tracking and closing happen in the same tool.
  • One interface — a dispute is opened and tracked the same way whatever its type; before, each type had its own path.
  • A shared reference — the prototype became the shared reference across the three zones, which made asynchronous work workable.

02 Design System

The system's foundations, and their governance.

The primary button in its three states, each with the step it uses: default Peppermint 300, hover Peppermint 400, disabled Neutral 200.

Context

Several teams build data-dense internal platforms in parallel, each with its own design and technical autonomy. That autonomy lets them move fast. It gets expensive when the foundation settles nothing: patterns drift apart and work gets redone. The palette was the clearest case: ten tinted greys, two of them strictly identical, five values for the primary colour, one for success, none for information. So each team filled in its own. My job: make the foundation precise enough that no one has to fill it in.

Objectives

  • A foundation without ambiguity — so a designer or a developer finds the right value without arbitrating it themselves: a complete scale per family, and a usage rule written for each step.
  • Measure contrast — assess every value in APCA contrast against light and dark text, so accessibility is settled in the token, not checked at the end of the project.
  • Make adoption hold over time — get teams to actually use the library: alignment rituals within the UX Community of Excellence, and documentation kept in Figma and Zeroheight.
  • Absorb what comes next — dark mode, data visualisation and future modules had to fit the same system without reopening it.
Excerpt from the Peppermint documentation, steps 300 to 600: each step's APCA contrast under dark text and under light text. A rule marks the switch between 400 and 500: above it, dark text holds (Lc 93 and 76); below it, light text does (Lc 65 and 80). Legend: Lc 60 and above for body text, below that large text, borders or decoration only.

Approach & solutions

  • Rebuild the neutrals before the colours — the greys carried a tint and an exact duplicate. Eleven neutral steps came first, because everything else is measured against them: backgrounds, rules, secondary text.
  • Extend each family from 0 to 900 — Peppermint from five values to ten, Lavender from three to ten, and one family was missing entirely: Pelorus, created for information.
  • Write the thresholds into the system — Lc 60 as the limit for body text, below it large text, rules or decoration; and between 400 and 500, the zone where text switches from dark to light. That call used to be made by eye; it is now documented step by step.
  • Keep data visualisation separate — four ranked series and two neutral contexts, so a chart stops borrowing interface colours and stops saying by accident what matters.
  • Restructure the components — Figma components rebuilt in auto-layout, typographic grid and spacing rules aligned, light and dark variants handled at the same time.

Results

  • Fewer calls made in review — colour and spacing differences are settled by applying the system, with no debate in design review between the developer, the PO and the designer.
  • Verifiable contrast — each step carries its measurement: what is usable for text, and on what basis, can be stated without reopening a checking tool on every screen.
  • A base teams actually take up — the system serves as a shared reference for existing modules and for the projects that follow, including dark mode and data visualisation, which had no answer before.