DEV Community

RyanCwynar
RyanCwynar

Posted on • Originally published at ryancwynar.com

How I Built an AI Prospecting Machine That Finds 200+ Leads a Week

You know what nobody tells you about outbound sales? The hardest part isn't the pitch. It's finding people to pitch.

I spent weeks manually Googling businesses, copying phone numbers into spreadsheets, and checking for duplicates. It was soul-crushing. So I did what any developer would do — I automated the entire thing.

Here's how I built an AI-powered prospecting pipeline that now runs 5 times a day, finds qualified leads across South Florida, and feeds them directly into my outbound call queue.

The Problem

I'm building AI voice products — think automated receptionists, review collection bots, that kind of thing. My target market is local businesses: doctors, dentists, law firms, CPAs. The kind of places that still have a human answering the phone (or worse, letting it ring).

To sell to them, I need their phone numbers, names, and enough context to have a real conversation. Buying lead lists felt like paying for garbage data. So I built my own.

The Architecture

The system is surprisingly simple:

  1. Cron-scheduled agent sessions fire 5 times daily (10am, 1pm, 3pm, 5pm, 8pm UTC)
  2. Each session runs a different campaign — receptionist, reviews, AI, or general
  3. The agent searches Google for specific business types in specific cities
  4. It extracts business name, phone, website, and category
  5. It checks Redis for duplicates against the existing queue
  6. New prospects get pushed to a Redis list that feeds our dialer

The whole thing runs on a single VPS with Redis, orchestrated by my AI assistant through OpenClaw cron jobs.

What Makes It Work

A few design decisions that matter:

Campaign rotation. Each time slot runs a different campaign with different search queries. The receptionist campaign hits broad categories (doctors, lawyers, dentists). The reviews campaign targets specialties (orthodontists, chiropractors). The AI campaign focuses on businesses likely to adopt AI tools (CPAs, dermatologists). This prevents search overlap and keeps results fresh.

Deduplication by phone number. The simplest dedup that actually works. Before adding any prospect, we check if their phone number already exists in the queue. This catches businesses that show up under different names or in different search results.

Geographic spreading. We rotate through Miami, Fort Lauderdale, Boca Raton, West Palm Beach, and smaller cities like Jupiter and Coral Springs. Hitting the same city every time would exhaust results fast.

Redis as the queue. I didn't need Postgres for this. Redis gives me a simple JSON list I can push to and pop from. The dialer reads from one end, the prospector writes to the other. Clean separation.

The Numbers

In the last week alone:

  • 5 runs per day × 7 days = 35 prospecting sessions
  • Average 4-5 new prospects per run
  • Queue grew from ~70 to 220+ prospects
  • Zero manual effort after initial setup

The duplicate rate has been climbing — we're starting to saturate the obvious Google results for South Florida. That's actually a good signal. It means we've been thorough.

What I'd Do Differently

If I were starting over, I'd add a scoring layer. Right now every prospect gets equal priority. But a 50-person law firm is a very different sale than a solo practitioner. Scraping employee count or review volume from Google Business profiles would help prioritize the queue.

I'd also add category-based throttling. We've got way more law firms than CPAs at this point. Balancing the mix would give us better data on which verticals convert.

The Bigger Picture

This prospecting bot is one piece of a larger system. The prospects flow into an AI-powered outbound dialer that makes the initial calls. Interested leads get routed to a human follow-up. The whole pipeline — from finding the business to booking a demo — is increasingly automated.

We're not replacing salespeople. We're replacing the 80% of sales work that isn't actually selling.

If you're building AI tools for local businesses, stop buying lead lists. Build a prospecting agent. The data quality is better, it's free after setup, and you learn a ton about your market in the process.


I'm building AI voice and automation tools for local businesses. Follow along at ryancwynar.com or find me on Twitter.

Top comments (0)