The method

How a row earns its place

Most lead tools assert data from a database and let you find out the hard way. We research accounts one at a time, then make every claim survive a verifier before you see it. This page shows the machinery and its measured error rates.

Five stages, one bar

1 · Infer your ICP, then ask you

You paste your URL. We read your site and infer who you sell to: buyer roles, anti-personas (who a naive pitch would reach but must not), verticals, size, and the trigger events that create a reason to talk. Then we show you our read and ask you to correct it before spending a minute on research. Where only you can answer, we ask, in the app, on your schedule. Research proceeds on our best inference either way; answers sharpen, never block.

2 · Source wide, blind

Six research angles run in parallel (verticals, trigger events, analog customers, industry watering holes, hiring signals, stated pain), each blind to the others, so one angle's blind spot doesn't cap the list. A candidate only exists if it was actually encountered in a source, with the URL where it was found. No guessed domains, ever.

3 · Research one account at a time

Each surviving account gets its own research run: what they do, at what scale; a trigger dated within nine months, or an honest null; why-them written so specifically it would be false under any other company's name; and contacts: a named person with the page their name appears on, or a gap row saying no one is publicly named for the role.

4 · Verify mechanically

Every factual claim carries a source URL and a verbatim quote. Before you see a row, code, not a model, re-fetches every cited page and string-matches every quote and every contact name against the page text. A claim that fails is dropped and logged. A contact that can't be confirmed is degraded to a gap row, with a note saying exactly why. The failure report ships with the row. The verifier itself is open source. We think every AI pipeline that cites sources needs one, ours included.

5 · Judge adversarially

Finally a judge is asked to refute the row: could this why-them be pasted under another company's name? Does anything hit your disqualifiers? Does the trigger actually create a reason to reach out now? Rows that don't survive don't ship. If we find 22 accounts that earn a place instead of 30, you get 22, and we say so.

Our numbers

From our latest full run (September 2026, 60 deeply-researched accounts, 623 factual claims checked). We publish these the way hosting companies publish uptime, and they update as we measure.

0

invented contact names shipped: all 31 unverifiable names were degraded to honest gap rows before delivery

68%

of claims (421 of 623) survived mechanical re-fetch and verbatim matching; the other 142 were dropped and disclosed, not shipped

18 of 60

rows rejected outright by the judge, and 34 more flagged for repair before they ship. Rejection is the product working

After delivery

You see the strongest five rows free, and open the whole list for $39, once. You work it in the console: every source a click away, a LinkedIn search for each named contact, and a log of who you contacted and when. Outreach goes from your own mailbox, written by you; we never send in your name.

Next on the build list is weekly monitoring: re-checking your accounts for new triggers and saying nothing when nothing qualifies. It isn't live yet, and we won't charge for it until it is.

Build my list