Problem
Teams holding thousands of contacts collect several copies of the same person, and with no way to group them, the same customer gets treated as a stranger twice. Agents lost time to cleanup and made more mistakes doing it.
Every request came with the same worry attached: a cleanup that quietly loses something.
Research
Agents accept a suggestion when they can see what it matched on.
I ran sessions with agents who manage thousands of contacts. They took any suggestion that showed its reasoning and could be undone, and ignored the rest. What limited automation here was never the model’s accuracy.
Process
- DISCOVERAgent interviews, contact-database audits, duplicate-pattern analysis
- DEFINEPrinciples: explainable, reversible, embedded in the existing flow
- DESIGNFlows for deduplication and segmentation; hi-fi mockups in the design system
- PROTOTYPEInteractive prototypes for merge and segment flows
- VALIDATE & SHIPUsability testing on trust and clarity; shipped into the live product
Decisions
Show the evidence for every AI action.
Duplicate and merge suggestions list the matching fields and the confidence before anything happens.
Each suggestion needs more room on screen. Without the evidence, agents ignored suggestions altogether.
Reversible by default.
Merges and cleanups can be undone, and nothing disappears without a record.
History and rollback cost engineering time. Nothing else would have made merging acceptable.
Insights sit on the contact and in the conversation.
Summaries, segments and suggestions appear where agents already work, rather than in a separate AI panel.
There is less to put on a feature list. Agents used it, because it never interrupted them.
PrototypeTap the glowing hotspots to move through the app, like the real prototype.






Before → After
Duplicate, fragmented contacts, manual cleanup that risked losing data, and no way to group or personalise at scale.
Details save themselves as the conversation happens, duplicates arrive with the evidence for the match, every merge can be undone, and the summary is already on the agent’s screen.
Outcome
- Contact records stay cleaner, and agents open a conversation already knowing who they are talking to.
- Visible reasoning and reversible actions made the automation safe enough to use.
- Manual cleanup dropped without moving the decision away from the agent. Shipped into the live product.
Reflection
Merging duplicates only helps if the agent believes the match. The honest measure is how often merges are accepted against how often they are undone, and that is the first thing I would track next.
