Outreach systems

We built four outreach systems. The sending engine is built and tested. This page covers how businesses were found, what was kept, and the safeguards in the first system's sending code.

Counted by hand on 24 Oct 2026 and updated manually, not nightly.

How businesses were found

The first system swept a map-data grid. Each query pairs a business category with an area, and the places the grid returns are the candidates. The map tool read contact details from each business's website as it swept, and a self-hosted crawler took a second pass over candidates that had a site but no address.

1,887
grid queries run
19,516
distinct places found
5,243
businesses kept
4,137
distinct email addresses
37
business categories

A business was kept only when an address could be read from its own website. The count of distinct addresses is lower than the count of businesses because some businesses share one.

Where an address comes from

In the first system, addresses come only from a business's own website. The map tool read addresses as it swept, with a junk filter. A self-hosted crawler then took a second pass over candidates with a site but no address: it takes a mailto link first, then an address on the same domain as the business's site, and keeps it only if the text appears on the page. None of this is a test with the receiving mail server, so an address can still bounce.

Lead scoring and personalised openers

A second system was built for a separate project. It is described here in the past tense, and nothing is claimed about it running now. It held businesses from several sources, scored each lead from 0 to 100 with the reasons stated, and prepared a personalised opening line for some of them. Each opener quotes the business's own public text, and the quotation is checked against the page it came from.

16,734
businesses held
3,040
with a primary email address
1,241
personalised openers whose quotation matched the page

Venue systems

Two further systems were built around venue listings this collection already holds. One keeps a queue of outreach targets; the other keeps an email address on each venue record that has one. The figures below are one count from each.

37,332
outreach targets queued
7,577
records with an email address in the second venue system

Safeguards in the sending code

These are the rules the first system's sending code applies.

  • Targets are businesses, not private individuals.
  • Every message carries a one-click unsubscribe (the RFC 8058 mechanism), and an address that opts out is suppressed permanently.
  • Bounces and complaints reported by the transactional email service suppress the address automatically.
  • Sending pauses itself if complaints pass 5 % or bounces pass 10 % of sends, once at least 20 messages have gone out.
  • A daily cap that starts low and rises gradually, and a monthly cap.
  • Sends are claimed atomically, one run at a time, and each carries an idempotency key.
  • Follow-ups are skipped for anyone who opened or clicked an earlier message.

What this page does not say

It makes no legal claim and does not describe any regulation. What it states is that the targets are businesses and that an opt-out is honoured. It names no site, city, business or supplier, and it gives no address.

The servers and scheduled jobs these systems ran on are described on the stack page.