Skip to content

Internal systemLead intelligence

Scaling lead research without scaling manual research

Varilead is a lead-intelligence and outbound-operations system that turns raw business records into qualified, outreach-ready leads. Identity checks, website discovery, site enrichment, qualification and drafting are organized as progressive stages, with higher-cost work pushed later in the workflow. Software does the searching, fetching and drafting. People make the calls where a wrong answer would contaminate everything after it: which website is real, which contact to use, and whether the lead deserves a message.

Varilead is an internal Future Built system. The workflow shown is implemented; production-scale figures are modeled, not observed, and the lead shown is synthetic.

Role
Product strategy, architecture, software engineering
Where a lead ends up: a confirmed website, ranked contacts, audit findings and an operator-rated outreach angle on one record. Uncertainty stays visible: the role inbox is held as a candidate, and "Needs confirmation" sits next to "Prepare outreach." Implemented fields, synthetic data.

Where a lead ends up: a confirmed website, ranked contacts, audit findings and an operator-rated outreach angle on one record

Modeled production scenario

operator minutes per lead, including blocking wait
18.4 → 8.0operator minutes per lead, including blocking wait
operator hours released per month at 1,000 leads
173operator hours released per month at 1,000 leads
cost per input lead, including API and tooling
$10.73 → $4.97cost per input lead, including API and tooling
leads per operator per month at 120 productive hours
391 → 900leads per operator per month at 120 productive hours

Summary

Varilead is an internal system Future Built designed and built to reduce the human time it takes to turn a target business into an actionable lead. The implemented workflow imports a target list, normalizes records and checks for duplicates, ranks candidate websites, waits for a person to confirm the right one, then runs site checks, supports operator qualification and generates a draft outreach sequence for approval. The production-scale figures on this page are modeled, not observed. Under the baseline assumptions, operator-equivalent time falls from 18.4 to 8.0 minutes per lead, including blocking wait, and a 1,000-lead month needs 133 operator hours instead of 307.

The operating challenge

Before anyone can send a credible first message to a local business, someone has to run a small research project. Search the name, work past directory listings and similarly named companies, and confirm the site belongs to the right business in the right city. Open it and look for what matters: a working inquiry path, a usable mobile layout, a named owner, an email address that reaches a person. Decide whether it deserves a message, then write it and log it.

In the modeled manual baseline the chain costs 18.4 operator minutes per lead, with inspection and enrichment the largest block. At a few dozen leads a month that is tolerable. At a thousand, it is a job.

Running every lookup, crawl and model call on every imported row trades one cost for another. Spend goes to duplicates and businesses with no usable site. Worse, a wrong website match fails quietly: contacts come from the wrong company, audit findings describe someone else's site, and the draft email is confidently wrong.

Volume is not the underlying problem. Applying the same effort to every record, regardless of what is already known about it, is.

System strategy

Varilead orders its work by cost and by consequence. Six implemented stages anchor their state to the same persisted lead model (PostgreSQL through Prisma), keeping search candidates, audit findings, selected contacts and CRM activity tied to the business they describe.

Higher-cost work sits later in the workflow. Identity is settled before a single page is fetched, and the model-generated draft waits for qualification, so a bad match or a weak lead stops early instead of accumulating cost.

Higher-cost work sits later in the workflow

The first stages are cheap and deterministic: CSV rows are mapped into the lead model, then names and phone numbers are normalized and checked for same-phone duplicates before anything costs money.

Discovery is where uncertainty enters. Varilead queries SerpApi, stores the search results and ranks website candidates instead of keeping only a winner. A reviewer sees what the system considered, and the decision stays auditable.

The website is the key every later stage depends on, so it is the first gate. Today every site is confirmed by a person. The ranking score shortens that review without replacing it: it is a heuristic rank, not a calibrated probability, and the system treats it that way. A score of 91 earns a faster check, not an automatic pass.

Only after confirmation does Varilead spend on HTML fetches and Chromium-based site checks. Audit findings and operator notes become an outreach angle, and the model-generated outreach draft is created only after a person has qualified the lead. One limitation is worth stating: qualification does not yet gate every crawl.

People keep three decisions: identity, contact choice and outreach judgment. Ambiguous records get additional investigation. Routine extraction runs in the background, which is where the largest block of manual minutes used to go.

Inside one lead

The trace follows EX-1042, Cedarline Heating & Air, a synthetic HVAC contractor in Columbus, Ohio. The business is invented; the stages, fields and decision points are the implemented workflow, and elapsed times are illustrative.

At import, the name and phone number are normalized and checked for same-phone duplicates. By 00:14 discovery has ranked three candidate websites, with cedarline.example on top at 91/100. At 00:44 the operator confirms it against the name and location. Nothing is extracted before that decision.

By 01:19 the site checks return three findings: no contact form detected, a missing mobile viewport tag, and visible phone and service details. Morgan Ellis, the owner, comes from the About page as a high-confidence contact. Taylor Reed's service inbox stays a candidate, flagged because the link between a person and a role address needs review. The uncertainty stays on screen instead of being resolved silently.

At 02:34 the operator rates website quality 2/5, chooses a site-issue angle and saves the lead as ENRICHED; Varilead does not compute that rating. At 03:13 a three-email draft sequence is stored. Editing, approval and sending stay with the operator.

Illustrative execution trace. Four steps are system output and two are human decisions, and the human steps sit exactly where an error would be expensive: confirming identity before extraction and judging fit before an outreach draft is generated.

Illustrative execution trace

Modeled production scenario

Designed for operating volume

The capacity model asks what this workflow demands at 500, 5,000 and 25,000 leads a month, using the economics baseline: 8.0 operator-equivalent minutes per lead, including blocking wait, and 120 productive hours per operator per month.

In the solo scenario, 500 leads produce 3,300 automated task executions and a $101 API and compute budget, plus a $100 fixed allowance. Every lead still needs review, and 100 need extra investigation: 67 operator hours, 58.3 of them active review, or about 25 leads a day for one person.

The human side sets the plan: 667 operator hours at 5,000 leads and 3,333 at 25,000. Manual research grows by 18.4 minutes per lead; this workflow grows by 8.0, and most of those minutes are decisions rather than searches. The model names operator judgment as the likely constraint and recommends batches small enough that confirmation and draft review actually finish.

The larger scenarios need execution infrastructure beyond today's workstation workflow, and throughput, budgets and review-time assumptions still need validation through a timed operator study.

Automated work scales cheaply; review hours scale with volume. At every modeled tier the planning question is how many people can confirm and approve leads, not how much compute the pipeline needs.

Automated work scales cheaply; review hours scale with volume

Modeled production scenario

Modeled economics

The economics model prices a 1,000-lead month at $35 per operator hour, from list sourcing through draft approval.

Manual research models at 18.4 minutes per lead, or 307 operator hours. The Varilead-assisted path models 8.0 operator-equivalent minutes, including a one-minute blocking-wait allowance: 133 hours, of which 116.7 are active review. That releases 173 hours a month, 56.5% less operator time.

Inspection and enrichment shrink most because extraction moves to the background; finding and verifying shrinks less because confirmation stays human. The assisted path also adds exceptions and wait, the cost of running review as a queue.

Manual labor models at $10,733 a month. The assisted total is $4,969: $4,667 in labor, $202 for API and compute, and $100 for hosting and tooling. The modeled difference is $5,765 (53.7%), or $10.73 versus $4.97 per input lead. Software is about 6% of the assisted cost. That is why the architecture is tuned to save human minutes rather than API calls.

Released hours are capacity, not banked cash. Per operator, modeled throughput moves from 391 to 900 leads a month. Whether that becomes lower cost or more pipeline depends on the team.

Every assumption is on the page: volume, hourly rate, minutes per stage, wait allowance and tooling costs. The shape of the result is the point: cost is dominated by labor, and the work that remains is review.

Every assumption is on the page: volume, hourly rate, minutes per stage, wait allowance and tooling costs

What this demonstrates

Lead automation scales by shrinking human decisions, not by deleting them. In Varilead's model every lead still passes through a person, but that person confirms, chooses or approves instead of searching. In the modeled 500-lead scenario, deeper investigation is reserved for roughly one record in five, where the evidence conflicts. Human attention is the workflow's most expensive resource, and the architecture spends it where an unchecked error would otherwise travel downstream.

Built with

PostgreSQL, Prisma, SerpApi, Chromium, model-generated drafts

All work
Diagram split by a vertical automation boundary. On the automated side: receive email and preserve source, parse and extract candidate values, validate and resolve with an operator, create structured CRM handoff. On the human side, fragmented pricing inputs and account context such as negotiated multipliers and legacy concessions feed the salesperson or estimator, who produces the commercially approved quote.

Representative engagementIndustrial distribution

Automating RFQ intake without automating commercial judgment

The same design principle in a client-facing setting: automate the interpretation of messy input, keep commercial judgment with people, and make review states explicit.

82% of RFQs routed to shortened review · ~38 hours a month released (constructed)

View case study
Two swimlane diagrams comparing the same lead before and after. Before: visitor, generic form, shared inbox, coordinator, a missing-information loop that calls the customer back, manual re-keying into Jobber, then the estimator, with a 2h 47m median staffed first response. After: visitor with UTM context, conditional form, property and service selection, deterministic ZIP check with an out-of-area decline, structured Jobber client and request, office notification and estimator, with a 26m median and a dashed failure branch that retries, then alerts and emails the office.

Representative engagementHome services

Turning a quote form into an operational lead pipeline

The inbound counterpart to Varilead's outbound work: qualifying leads at the point of capture and writing them straight into the system where the business operates.

Median staffed first response 2h 47m → 26m (constructed)

View case study