Case study — ColdDeck

Ours outright

A rule pack,

because a score you can't replay isn't a score.

ColdDeck finds businesses in a niche, reads a few pages of each site, detects concrete defects, and scores them. The obvious implementation is to hand the page to a model and ask it how good a prospect this is. We did not do that, and the reason why is the whole case study.

Deterministic scoringPolite crawlerEvidence trailHuman approval gateLocal databaseGmail send
01

The problem

Cold outreach tooling is a category built on volume. Load a list, spin ten thousand variations, send them all, and let the response rate absorb the damage. It works in the sense that arithmetic works, and it burns the domain, the list, and the sender’s reputation on the way through.

The alternative is to contact fewer people about something specific and true. That requires knowing something concrete about each business — and knowing it reliably enough to put it in writing.

The constraint

Every point in a prospect’s score has to trace to the page that produced it — and nothing sends without a person reading it.

Both halves matter. The first makes the score defensible. The second makes the send survivable.

02

Why not a model

A model score can't be replayed

Run the same page through twice and you may get 71 and then 64. Nothing changed except sampling. You cannot tune a threshold against a number that moves on its own, and you cannot explain last week's decisions.

A model score can't be retuned

When the score is wrong, the only lever is the prompt — and changing it moves every score at once, including all the ones that were right. A rule pack lets you change one weight and see exactly which prospects moved.

A model score can't be pointed at

"Why is this an 82?" has no answer beyond the model's word for it. With rules, the answer is a list: no booking, no chat, broken form — each with the URL it was found on.

The model is still in the system. It reads messy HTML and it drafts prose — the two things it is genuinely good at. It is kept out of the one place where being unpredictable is expensive: the judgement.

03

What the crawler looks for

A handful of pages per site, at a rate a human could plausibly browse at. Each signal is a defect a business owner would recognise as real if you said it out loud.

no_online_bookingService business, no way to book without phoning
no_chat_widgetNo async channel for a prospect who won't call
contact_form_brokenForm posts to a dead endpoint — verified, not assumed
no_mobile_viewportNo viewport meta; the site is unusable on a phone
no_sslPlain HTTP in 2026

Each detection stores the URL it fired on. The score is the sum; the evidence list is the receipt.

04

The approval gate

Every email is drafted against a stated offer and that company’s specific defect, then held. A person reads it, edits or discards it, and approves it. Only then does it send — plain text, from your own Gmail, one at a time.

This is deliberately slower than the category standard. Sending is the irreversible act in this system: you cannot un-email someone, and you cannot un-burn a domain. Anything irreversible gets a human in front of it.

The list never leaves the machine. There is no vendor account, no seat, and no third party holding the prospect data.

Pipeline

discoverfind businesses in the niche
crawlread a few pages, politely
detectfire signals, store the URL for each
scoredeterministic rule pack — replayable
draftmodel writes, grounded in the evidence
approvehuman reads every one← gate
sendplain text, own inbox, one at a time
05

What happened

Honest answer: this section is not finished, and it would be easy to fabricate. ColdDeck was built as a product and has never been pointed at our own business — which is exactly what it is about to be used for.

When the first campaign runs, the numbers land here: sends, replies, calls booked. If you are reading this because an email from us arrived, you are looking at the system that sent it, and this paragraph will have been replaced by the campaign that reached you.

Outcome section — in progressNo invented metrics
Your system

let's find out whether it can explain itself.