Written by Mike Hurley, founder of WarmUp. This runs our own pipeline; it is not a demo build.

Version 1.5 · Last updated October 1, 2026

A company list to a segmented, tiered map · four passes, no-credit sources first

board-3-icp-map-v1-5.png

Left to right, following the numbers: the four ICP facts and the three sources, the rule, passes 1 to 4 (one column each), the verdict. The orange-edged box at the foot of each stage names the tools we used there. The purple card at the top of pass 3 lists the sources that cost no provider credits. The strip under the legend follows one domain through. The band is what the map holds and why it is built this way. Click the board to open it full size.

Why it helps

Every other workflow reads the map. The hiring feed asks it whether a company is one we want. The social play reads its flags. The daily list reads its tiers. The map is one table of companies, keyed on domain, holding every company we have ever looked at with a status, a segment, a tier and a reason: assigned to a segment, undecided with the missing fact named, or disqualified with the word that removed it. Nothing is deleted. A status changes when a fact does. (The map asks for 25 to 200 employees and the social play's gate asks for 25 to 500. They are different rules on purpose: the map is where we buy data, the gate is who we will message.)

It stays cheap because of one rule applied four times: a company leaves at the cheapest check that can remove it, and paid enrichment runs only on what the sources with no provider credits could not answer. Every exit carries a reason, and every reason is a candidate filter for the source query, so the next pull is cleaner than the last.

Who counts as ICP

Four facts, and each one needs a known answer:

  1. Headquartered in the US.
  2. 25 to 200 employees.
  3. Privately owned. Public companies, nonprofits, schools, government bodies and investor firms are out.
  4. Sells to businesses. A company that sells to both businesses and consumers counts.

A fact known to fail decides, even when another fact is unknown. An unknown fact reads "needs enrichment" and waits for a source. It is never counted as ICP.

The tools at each stage

These are the ones we used. The shape holds with others in their place.

Stage Tools we used
The sources Clay Search, SaasyDB, DiscoLike
The rule Freckle and Clay run it. Our own Postgres database (Supabase) holds it.
Pass 1 · exclusions A code step in Freckle. No provider is called.
Pass 2 · org structure Apollo basic people search, as a Freckle step. Prospeo as the second source.
Pass 3 · the real band No provider credits: AI Ark previews, Clay Search, the LinkedIn company type, DiscoLike records, HubSpot enrichment. Paid: Apollo organization enrichment.
Pass 4 · the qualifier A research agent in Freckle. For agencies, a site-reading script on our own OpenAI key.
The verdict Supabase holds the map. HubSpot shows it to the rep.

Why we built it this way