Prospecting pipelines
that build themselves

Give it the URL of what you sell. It works out who buys it, then writes the code to go and find them — sourcing, enrichment, qualification — tests that code against a contract, runs it every day, and repairs itself when a source changes underneath it.

Try it now

Sources

No integration catalogue to pick from

Every other tool hands you a list of connectors and asks you to work within it. Here there is no list. If a source has a page or an API, the agent writes the block that reads it, and writes the tests that prove it still works.

Product HuntCrunchbaseLinkedInGitHubHacker NewsBuiltWithCompanies HouseRSS feedsGoogle SearchAny public API

A few of the sources a pipeline has been built against.

How it works

Three things you do. The rest is the agent's job.

01

Say what you sell

Paste a URL or describe the offer. The agent reads your product, works out the value proposition, and proposes an ICP — the kind of company that has the problem you fix. Already know your ICP? Give it that instead.

02

It designs and writes the pipeline

Sourcing, filtering, enrichment, qualification, message. Each step becomes a block with an explicit data contract, a real implementation, and a test suite. Blocks run in an isolated sandbox until they satisfy the contract.

03

It runs daily, and keeps itself running

Every run is checked against the contract and against its own history. When a source changes shape, an agent gets the code, the logs and the failing rows, and ships a fix as a new version.

Anatomy of a block

Behind "detect Cloudflare" there is a real program

Not a prompt fired at a model for every row. A versioned implementation with an input contract, an output contract, a test suite and a run history — so you can open any step and see exactly how a result was produced.

detect_cloudflarev4
Objective
Given a website, decide whether it is served through Cloudflare.
Input
website: str
Output
detected: bool
confidence: float
evidence: list[str]
Implementation
headers = fetch(website).headers
detected = "cf-ray" in headers
return {
    "detected": detected,
    "confidence": 0.99 if detected else 0.4,
    "evidence": [h for h in CF_HINTS if h in headers],
}
Tests
12 passed
Versions
v4 · current · shipped after Product Hunt changed its markup
Last run
2 min ago · 143 rows · 0 contract violations

Self-healing

The scraper breaks. That is the normal case, not the failure case.

Nobody writes a scraper that works forever. The difference here is what happens on the morning it stops: the contract catches it before the data reaches your CRM, and an agent is already on it.

  1. 01

    Run

    The pipeline executes on schedule and produces rows.

  2. 02

    Check

    Rows are tested against the contract and compared with history — count, shape, fill rate, types.

  3. 03

    Detect

    Product Hunt returns zero launches, or the email fill rate halves. The run is held, not shipped.

  4. 04

    Diagnose

    An agent receives the current code, the logs, the failing rows and the historical results.

  5. 05

    Repair

    It rewrites the block, updates the tests, and runs the suite in the sandbox.

  6. 06

    Ship or hold

    Green, and the new version goes live. Red, and it stays quarantined while the last good version keeps running.

What comes out

Qualified rows, with the reasoning attached

Not a list of company names. Each row carries why it matched, who to reach, what the agent found, and a message written from that context — plus a link back to the run that produced it.

Northwindnorthwind.io
Why it matched
SaaS launched 6 weeks ago, site behind Cloudflare, 14 indexed pages, no structured data, no blog.
SEO potential
High — thin content, strong domain, competitors ranking on the same terms.
Contact
[email protected] · CTO
Generated message
Saw Northwind launch on Product Hunt last month. You are on Cloudflare already, which means SEOEdgeAI switches on in about two seconds — no DNS change, no code…

Point it at your product and see what it finds

Free while it is in beta. Sign in with Google, give it a URL, and watch it build the first pipeline.