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 issame_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