font-family: 'carbona-variable', sans-serif; font-variation-settings: 'slnt' 0, 'MONO' 0, 'wght' 700;font-family: 'marydale', sans-serif; font-weight: 400; font-style: normal;

CASE STUDY

Lightspeed X-Series

Cleaning up customer data for 500K+ users of Lightspeed's flagship retail POS.

ROLE

Product Designer II

TEAM

PM, Engineering and QA

PLATFORM

Web app + Mobile

TIMELINE

6 Weeks

OUTCOME

−30% duplicate customer records

01

Overview

Retailers' customer lists were full of duplicates, which caused billing errors, broke loyalty programs and slowed support. I designed a flow that detects likely duplicates, groups them, and lets merchants merge them with confidence. It shipped in X-Series and cut duplicate records by 30% for 500K+ users.

02

Problem

X-Series merchants kept the same shopper on file two, three, or five times. Each copy split that shopper's purchase history, so a customer could be billed incorrectly, miss loyalty rewards, or get marketing that didn't fit them. Support teams lost time working out which record was “real” before they could help.

The cost wasn't just messy data. It was lost trust at the counter and marketing merchants were paying for but couldn't use.

ONE SHOPPER Maya Chen AT THE COUNTER CUSTOMER SEARCH maya chen Maya Chen M. Chen Maya Chen 3 MATCHES · WHICH ONE? MC Maya Chen ALL CUSTOMERS Maya-3F2A | maya@email.com ORDERS 6 POINTS 480 MC M. Chen ALL CUSTOMERS MChe-91B4 | (555) 014-2290 ORDERS 3 POINTS 210 MC Maya Chen ALL CUSTOMERS Maya-7C0D | No contact info ORDERS 1 POINTS 0

03

Approach

Talked to the people cleaning up the mess.

I interviewed customer support agents, data analysts and merchants to see how duplicates hit their day-to-day work.

Mapped the current journey with the PM.

We traced how a duplicate gets created and where it hurts, then redesigned the journey around each pain point.

Explored widely, then cut hard.

I ran cross-functional brainstorms on manual cleanup, automation and group merging, then prioritized with MoSCoW.

Designed with the data, not around it.

Engineering's ML model flagged likely duplicates from historical records; my job was making its output understandable and safe to act on.

Tested and iterated.

Usability tests with merchants and internal teams checked navigation, discoverability of the new detection, and time to merge.

Current journey of copying, pasting and deleting duplicate customers across three trips, versus the intended journey that merges them in one modal MoSCoW matrix for the customer merge feature: must, should, could and won't have

04

Key decisions

DECISION 1

Suggest and group, but let the merchant merge.

Merchants asked for automation, and the model could find duplicates. But merging customers touches billing and purchase history, and support agents worried automation would make their work harder. So the system detects and groups likely duplicates, and the merchant confirms each merge. Fully automatic deletion went to “could have” for later.

browser-card

DECISION 2

Fix the records, not the whole CRM.

Data-source migration and a full CRM overhaul were real needs, but each would have turned a six-week project into a year. I scoped them out explicitly as “won't have,” so the team could ship the core: accurately identify and merge duplicates.

DECISION 3

Make the merge itself fast.

Merging is the moment of truth, so the merge modal got the most iteration. In testing it was the part users singled out for saving them time.

Retail-X-Merge-Customers-Duplicate-Modal-Actions

05

Outcome

−30%duplicate customer records
500K+users reached

06

Leadership

DISCOVERY

Led the discovery.

Led discovery across support, data analysts and merchants, and turned it into the problem statement the team worked from.

SCOPE

Set the scope.

Facilitated the cross-functional brainstorms and ran the MoSCoW prioritization that set scope with the PM.

BUY-IN

Earned support buy-in.

Showed the time savings, gave hands-on help, and changed the design based on the support team’s feedback.

NEXT CASE STUDY

Upserve Inventory →

© 2026 Joao Medeiros