The 10,000-contact
database I built by hand
Sole operator of the entire outbound system for a UK property compliance provider — sourcing, enrichment, verification, segmentation, copy, sending, tracking and sales handoff. No team. No licensed CRM. Built from zero.
One person to run the entire outbound function. Build the contact database, run the campaigns, keep the CRM straight, maintain sales sheets and invoice logs. No team, no existing list, no tooling budget.
Because I was the scraper. 150 websites a day. Open site, find contact page, copy email, copy phone, paste into the spreadsheet, repeat. Eight hours a day. Eyes sore by noon.
London property is fragmented and hyperlocal — letting agents, block managers, estate agents, care homes, restaurants — spread across every borough with no single directory covering them, and badly under-indexed by Apollo and Sales Navigator precisely because it's niche. Each borough was its own manual sweep.
The one thing working in my favour: compliance has a natural trigger event built in. Certificates expire on a schedule. A prospect with an expiry coming up is a fundamentally different lead from one without — and targeting on that beat any static "owns property in London" list I could have built.
Almost every email I collected started with info@.
That's what a website's contact page gives you. Generic inboxes, watched by a receptionist or an auto-responder, nobody with buying authority behind them. I'd built a 10,000-row database that was technically accurate and commercially close to useless for cold outreach. The outreach failed, and for a long time I assumed it was the copy.
Two changes. First, stop treating "an email exists" as the finish line — the record isn't done until there's a named person with a title attached. Second, source contacts where names actually live: Apollo, company team pages, LinkedIn — not the contact form.
That's also where the three-bucket verification standard came from. Role-based addresses stopped being "a contact with a slightly worse email" and became their own category — dropped from sends entirely, flagged for a different channel if the account was worth chasing another way. Everything in section 04 is the formalised version of what I learned here the hard way.
I asked to automate the sourcing so I could spend that time on qualification instead of copy-paste. The answer was no.
They ended up with a 10,000+ contact database segmented by borough, business type and portfolio size, plus a full audit trail across sales sheets, invoice logs and service records — one row per prospect, not per email, so the sales team had a single source of truth rather than a touch log.
Living the manual version is why the tools I built later are shaped the way they are. I didn't automate a process I'd read about. I automated the one that had been wrecking my eyes for six months — which is why the first thing my enricher does is go past the contact page.