Grounded Intelligences StatusDemosRésumé Portfolio Field Notes

Entity Resolution Workbench

The same messy-records problem that appears in every large organization: one real-world vendor, five spellings. Below are twelve synthetic records with realistic damage — typos, abbreviations, swapped fields, missing values. The pipeline blocks candidates, scores pairs with Jaro-Winkler across weighted fields, and clusters transitively. Drag the threshold and watch decisions change.

How it works

Blocking first: comparing every record to every other is O(n²), so candidates are limited to records sharing a normalized name token or phone digits — the trick that makes this tractable at millions of rows. Scoring: Jaro-Winkler similarity on the name (weight 0.55), city (0.15), phone digits (0.20, exact-biased), and account code (0.10), with missing fields redistributing their weight rather than counting against the match. Clustering: union-find over pairs above threshold, so A~B and B~C put A and C in one entity even if A~C scores low — which is both the power and the classic failure mode (chain merges), and why the threshold slider is the most important control on the page.

Why this matters, in plain terms: every large organization quietly wastes money because its computers think one supplier, customer, or patient is five different ones — a typo here, an abbreviation there. Bills get paid twice, discounts get missed, reports disagree. This is the unglamorous plumbing that fixes it: teaching software to recognize that "Northwind Indust. Supply Inc" and "NORTHWIND INDUSTRIAL" are the same company, carefully enough that it does not merge two firms that merely look alike. Clean identity is the foundation every trustworthy report stands on.