DEV Community

RyanCwynar
RyanCwynar

Posted on • Originally published at ryancwynar.com

I Built an AI That Finds 50+ Sales Prospects a Day While I Sleep

Most founders I know spend hours manually searching for leads. Scrolling through Google Maps, copying phone numbers into spreadsheets, cross-referencing against their CRM to avoid duplicates. It is tedious, error-prone, and a terrible use of your time.

I got tired of it, so I automated the entire thing. Here is how I built a prospect-finding pipeline that runs autonomously, discovers new businesses, deduplicates against my existing queue, and adds qualified leads — all without me lifting a finger.

The Problem

I sell AI solutions to local businesses — medical practices, law firms, dental offices, CPAs. My target market is South Florida, and there are thousands of potential customers within a 50-mile radius.

The manual process looked like this:

  1. Search Google Maps for "dentists Boca Raton"
  2. Click through results, grab phone numbers
  3. Check if they are already in my system
  4. Add new ones to the call queue
  5. Repeat for different categories and cities

This took 2-3 hours daily and yielded maybe 10-15 new prospects. Not scalable.

The Architecture

The automated system runs on scheduled cron jobs throughout the day. Each run targets a different campaign (AI receptionist, reviews management, etc.) and searches different business categories and geographies.

Here is the stack:

  • Cron scheduler triggers prospect runs every few hours
  • Google Maps API for business discovery (name, phone, category, location)
  • PostgreSQL stores the prospect queue with deduplication on phone number
  • AI agent orchestrates the search, filters results, and logs everything
  • Memory files track what was found each day for review

The key insight: deduplication is everything. As your queue grows, the hit rate on new prospects drops. My system went from finding 15 out of 15 searches to finding 4 out of 15 as the queue approached 250+ prospects. That is actually a good sign — it means coverage is expanding.

How It Works in Practice

A typical run looks like this:

Searched: orthodontists Boca Raton, chiropractors Fort Lauderdale
Found: 17 candidates
Skipped: 1 duplicate (phone already in queue)
Added: 16 new prospects
Queue total: 217
Enter fullscreen mode Exit fullscreen mode

The system rotates through search categories to avoid saturation. One run might target dermatologists in Palm Beach Gardens. The next hits personal injury attorneys in Coral Springs. By varying both the business type and geography, it maintains a steady flow of fresh leads.

Each prospect gets tagged with a campaign so I know which pitch to use when the call goes out. A dental office hearing about AI-powered review management is a different conversation than a law firm hearing about an AI receptionist.

What I Learned

1. Geography saturates faster than you think. South Florida has a lot of businesses, but "dentists in Boca Raton" is a finite list. After a week, duplicate rates climb. The fix: expand geographically before you exhaust local categories.

2. Phone number is the best dedup key. Business names are unreliable — the same practice might appear as "Dr. Smith DDS" and "Smith Family Dentistry." Phone numbers are unique.

3. Batch your campaigns. Running multiple campaign types (receptionist, reviews, general AI) against the same geography means one search serves multiple pipelines. A dental office is a candidate for both AI receptionist and review management.

4. Log everything. Daily memory files track exactly what was found, what was skipped, and why. When I review the pipeline, I can see trends — which categories convert better, which geographies are tapped out.

The Results

In one week, the system added over 100 new qualified prospects to my call queue with zero manual effort. The queue grew from roughly 175 to 260 prospects across four different campaigns.

More importantly, it freed up 15+ hours per week that I now spend on actual sales calls and product development.

The Takeaway

If you are doing any kind of local business outreach, automate the prospecting layer first. The search-filter-deduplicate loop is pure busywork that a script handles better than you ever will. Save your human hours for the conversations that actually close deals.

The best sales system is one where leads appear in your queue while you sleep. Build that first, then worry about your pitch.

Top comments (0)