I’m not an engineer. I deduplicated 53,000 missing-persons reports from Venezuela’s earthquake anyway. | by Steven Renwick | Tilores | Jul, 2026 | MediumSitemapOpen in appSign up<br>Sign in
Medium Logo
Get app<br>Write
Search
Sign up<br>Sign in
Tilores
Tilores is real-time entity resolution: it links the duplicate, conflicting records scattered across your systems into one resolved record — so your fraud, compliance, Customer 360, and AI teams all work from the same truth. https://tilores.io/
I’m not an engineer. I deduplicated 53,000 missing-persons reports from Venezuela’s earthquake anyway.
Steven Renwick
5 min read·<br>1 day ago
Listen
Share
How the identity-resolution technology banks use for KYC and sanctions screening found 61 missing people in hospital beds.<br>My wife is Venezuelan, so the two earthquakes that hit the coast near Caracas on June 24th weren’t an abstract news story in our house*.<br>She’s the one who got me into this. The next day, she was following the missing-persons effort on social media, and she kept seeing the same complaint from families and volunteers: the public registry where people reported the missing was drowning in duplicates. The same person entered over and over, spelled a little differently each time, ages off by a year, half the fields blank, until the lists were nearly impossible to use. That evening she asked if I could do something about it.<br>Press enter or click to view image in full size
A drone view shows buildings destroyed by earthquakes, in La Guaira, Venezuela, June 26. Source: Handout/ReutersI run a company that does exactly this. Tilores does entity resolution — the arguably unglamorous business of working out when a pile of records from disparate sources refer to the same real person. Banks use the same techniques to screen customers against sanctions lists, where “Catherine,” “Katherine,” and “Kathryn” with a missing birth date all have to link to one human. A disaster registry has the same problem, just in a different context. In a bank you’re trying not to miss a sanctioned customer. Here you’re trying not to forget someone who might still be alive.<br>But I’m the CEO. I’m not an engineer. I (shameful admission) don’t really know how to use an API; most of my days are spent doing sales calls or pitching VCs, not writing code. A week earlier, “can we do something about it?” would have meant pulling an engineer off paying work, explaining the whole mess to them first, and waiting.<br>What changed sounds like plumbing but I think it is important. A few days before, our team had quietly shipped an MCP server for Tilores.<br>If you haven’t run into one yet: an MCP server is the piece that lets an AI assistant actually operate a tool rather than just describe it. With it connected, I could sit down with an AI assistant (Claude in my case) in the evening, point it at the registry, and say in plain English: here are tens of thousands of missing-persons reports, help me find the duplicates. And then genuinely do it — shape the rules for when two reports are the same person, test them against real cases, run the whole dataset through, and look hard at what came out. I did this. Not an engineer I’d briefed.<br>So that’s what happened. 53,693 missing person reports resolved down to 51,622 distinct people, with around 2,071 duplicates folded into someone else. (The live numbers are public, updated as new reports come in.)<br>The matching rules are the important part, and where doing it myself, with Claude explaining the trade-offs, actually mattered. You must not merge two different siblings who share a surname. You must not merge a “Maria y José” entry — two people crammed into one report — into either of them. Get those wrong and you’ve made the lists worse than the duplicates did. And 273 duplicate cases fell out where the same person carried both a “missing” report and a “found” or “safe” one. Those went straight to humans to verify, because if the match is correct, a family can stop searching.<br>A few days in, the project found its second calling. Someone running a separate site, a volunteer effort collecting lists of patients who’d turned up in hospitals got in touch and asked if we could cross-reference their patients against the missing list. Some of those hospital lists weren’t typed lists at all. They were photos of names handwritten on a wall, the kind of board a hospital puts up so families can scan it in person, transcribed by hand before anyone could run them against anything. And once we were doing it, the shape of the problem was familiar: a messy, inconsistently spelled list of names that needs matching against a master list is exactly the work we do every day running screening for financial services clients against sanctions lists.<br>If a family reports someone missing, and that same person is lying in a hospital bed under a slightly wrong name, those two facts sit in two databases that never speak to each other. Connecting them is, potentially, a record linkage that...