Log inBook a Demo
DebugJuniorData / MLAuto-graded

Fix dedup that counts café as two users

Real names arrive in many written forms, and matching them takes precision that still keeps two people apart.Support keeps filing tickets: users end up with duplicate accounts, and search fails to find people who are plainly in the database. The culprit is same_user(a, b), the helper deciding whether two strings refer to the same person, which uses a naive lowercase-and-compare. That falls apart on real-world Unicode — the same accented name typed two different ways is two different strings, and case folding is not as simple as lowercasing once you leave ASCII.
25 min
python

You're done when

  • Names differing only by Unicode composition — a combining accent versus a precomposed character — are recognised as the same person.
  • Case differences are handled by proper case folding rather than naive lowercasing.
  • Invisible and zero-width characters do not make two identical names differ.
  • Whitespace differences do not defeat the match.
  • Genuinely different people are still reported as different.
  • All the reference pairs are classified correctly.

What it measures

Data qualityUnderstanding that visually identical text can be different byte sequences, and what that does to deduplication.
Debugging and profilingDiagnosing a bug whose evidence is two strings that look identical on screen.
Unicode correctnessApplying normalisation and case folding in the right order, without over-normalising distinct names into collisions.

Your environment

Terminal + editorA full shell in the browser
Claude CodePre-authenticated, no key setup
Isolated microVMYours alone, wiped afterwards

Start this lab

25 min
Start labYou'll sign in to Anthropos to start. The lab opens in a private cloud workspace with Claude Code ready to use.
AI Labs is part of Anthropos Workforce. Not on your plan yet? Book a demo