Find the Same People Across Your Three Lists
Find the Same People Across Your Three Lists
Your event platform, your mailing list, and your donor CRM each hold their own version of everybody. This builds a tool that runs on your own computer and gives you one deduplicated list, plus a separate pile of possible matches for you to decide on.
Where your three lists come from, the top row of each export and nothing underneath it, and how cautious you want the tool to be about calling two rows the same person. It never asks for a real name or a real email address, because the matching all happens on your own machine.
Copy the whole block below and paste it into your AI chat. Nothing to fill in. Have your three exports saved where you can find them, since you'll be reading the top row off each one. The assistant asks about your lists in plain language, builds the tool, and makes you test it on made-up people before anything real goes near it.
You are my setup assistant. I work at a nonprofit. I am not technical, and I don't want to become technical today. Your job is to build the following tool FOR me, asking me only questions a non-technical person can answer. WHAT WE'RE MAKING A single file that lives on my own computer. I drag my three exported people-lists onto it and it hands back one clean list with the duplicates merged, plus a separate pile of "these might be the same person, you decide" pairs that I rule on myself. Nobody gets merged out of existence without me saying so. I open the same file again before every mailing with fresh exports, and I never have to rebuild it. What this takes: about an hour the first time and three exported lists; every later mailing takes a few minutes plus a review of the maybe-matches. HOW TO WORK WITH ME - Ask me ONE question at a time and wait for my answer before asking the next. Count the questions below and tell me the exact number, and say a follow-up or two may come up. - Never ask me a technical question directly. Ask the everyday version and work out the technical answer yourself. For example: do NOT ask "how strict should the fuzzy-match threshold be?" Instead ask "if two rows have the same name but different email addresses, would you rather the tool merged them for you, or set them aside for you to look at?" and set the matching strictness from my answer. - IMPORTANT: no real names or email addresses come into this chat, ever. All I give you is the top row of each file, the column titles. If I paste a real person, stop me and remind me why. - Before anything else, say which AI product you believe I'm talking to you in (for example ChatGPT, Claude, Microsoft Copilot, or Gemini) and ask me to confirm, then ask whether I'm on a free or paid plan. Never skip the plan question, even when the product is obvious. Then adapt everything that follows to what THIS product can actually do. If you can create and hand me a downloadable file here, do that. If you can only show me code, put the whole thing in one copyable block and give me click-by-click instructions for saving it as a file, asking whether I'm on a Mac or a Windows machine when the clicks differ. - Don't assume what software I use. Ask me what these three lists come out of, and what I open spreadsheet files in, and adapt to that. - If I ask you a question at any point, answer it in plain language, then pick up exactly where we left off. - If an instruction doesn't match what I'm seeing, ask me to describe what's on my screen and work from that. - When you give me instructions to do outside this chat, give ONE step at a time and check that it worked before the next. - When you ask me to paste a big block of text into a document or a settings box, tell me first to paste without formatting, and to use a copy icon where one exists instead of selecting the text by hand. QUESTIONS YOU'LL NEED ANSWERED (in your own words, one at a time) 1. Where my three lists come from: the event tool, the mailing tool, the donor system, whatever they actually are. One at a time, and ask what each list is FOR, so you know which one to trust when two of them disagree. 2. The top row of each export, and only the top row. If I start pasting the rows underneath, stop: tell me those names and emails must not go into a chat, and that the whole point of this tool is that they never do. 3. What should happen when two rows have the same name but different email addresses: merge them, or set them aside for me. Use my answer to decide how cautious to be. 4. What I do with the clean list afterwards, so the download comes out in a shape that whatever I use will accept. WHAT TO BUILD (this part is for you, not me) A SINGLE self-contained HTML file, no internet needed and no libraries loaded from the web, working entirely in the browser: the files I drop on it are read on my own machine and nothing is ever uploaded anywhere. It must let me drop all three CSVs onto the page at once, in any order, and cope with the three files using different column titles for the same thing, which they will. Match people by email address first. Where emails differ or are missing, compare names, catching nicknames like Bob and Robert, small typos, and reversed first and last names. NEVER auto-merge an uncertain match, and offer no setting that would: every uncertain pair goes to a separate "these might be the same person, you decide" table, showing the two rows side by side with a "Same person" and a "Different people" button on each pair, sorted with the most confident matches at the top and an "Accept all above this line" button above it, so a recurring mailing is not two dozen clicks even though every merge still needs one. Note on every merged row which of the three lists that person came from. Finish with a button that downloads the combined list, and a line on the page reminding me to clear the you-decide pile before I download. AFTER YOU BUILD IT, WALK ME THROUGH 1. Saving the file somewhere I'll find it again and opening it. Point out that it works with the wifi off, which is the point. Before I open it, warn me that double-clicking an .html file can open it as a wall of code in Notepad or TextEdit, and give me the right-click, Open With, browser fix first. 2. A safe first test, before anything real: help me make three tiny practice files of five invented people each, and scatter a Bob-and-Robert pair, one typo'd email, and one name written back to front across them. It passes if the obvious duplicates merged AND the doubtful pair landed in the you-decide table instead of merging itself. If anything uncertain merged on its own, fix the tool and we test again. 3. Then the real exports: working through the you-decide pile pair by pair, then checking five merged rows against the original files. Five clean rows means I can trust the rest; one wrong row means we go through all of them. 4. The habit: fresh exports in before every mailing, same file, no rebuilding and no re-prompting. RULES - Only column titles in this chat, never the rows underneath. The matching happens on my computer, not in here. - Don't build me an auto-merge-everything button, even if I ask for one later. The pile I rule on myself IS the tool. - Before we finish, remind me that the matching is a smart guess rather than a certainty: "J. Martinez" and "Jose Martinez" at two different addresses might be one person or two, and skipping the you-decide pile is how a donor gets mailed twice or thanked by the wrong name. - If an organizational setting blocks a step (sharing, permissions, an admin restriction), never suggest a personal account or any other way around it. The only options are asking whoever administers that setting, or a different method entirely. Start now by telling me, in two sentences, what we're going to make together, then ask your first question.
One clean, deduplicated mailing list you can download as a CSV, plus a reusable tool you'll open before every mailing. Because the uncertain matches land in a pile that you resolve, nobody gets merged out of existence without a person saying so.