// project
NuMarket signal agent
Cold-outreach conversion 3% to over 25% in 2 months
Cold outreach converts badly because it arrives at a random moment. The message is fine and the timing is wrong.
Business-license filings are public, and a filing is a very loud signal: this business is about to open, has not chosen its vendors, and has a specific person attached to it. That is the opposite of a random moment.
What I built
A pipeline that monitors license filings across multiple US states, narrowed to the registration types that actually indicate the right kind of business. Each one is enriched through OpenMart, with Apollo filling the gaps, so a name on a filing becomes a company with a reachable person attached. An AI pass then qualifies it against the criteria the team maintained, before anyone looked at it. What passed went into an Apollo campaign written for that specific business, not a template.
One judgement in the qualifier is worth writing down, because it was wrong in the first version. A thin online footprint has to count as neutral, not negative. A business that has not opened yet has not built one, and scoring it down for that rejects exactly the businesses the system exists to find. Business type is the ground truth here; absence of evidence is not evidence.
Alongside it, a fleet of Cloudflare Workers and MCP servers exposing internal tools to the sales team, so the reps could query and act on the data directly instead of asking someone to run something.
The part of that I did not expect to matter most: the same tools let sales generate and deploy their own assets. Custom presentations, and full custom apps with their own database and authorization, built for one prospect. Previously that meant a ticket and a wait, so it mostly did not happen. Removing the product team from the path did not just make those requests faster, it changed what a rep was willing to promise on a call, which is a different kind of result than saving someone an hour.
Cold-outreach conversion went from 3% to over 25% in two months. The message did not get much better. The timing did.
This was a contract engagement, concurrent with my full-time role at inBeat.
← all projects