I've been running an automated prospect-finding system for the past few weeks. It's not clever. It's not elegant. It runs on cron jobs and simple web searches. And it's added over 100 qualified leads to my pipeline while I sleep.
Here's what I've learned: The 80% solution that runs 24/7 outperforms the 100% solution you never ship.
The System
My setup is embarrassingly simple:
- Cron jobs that fire every few hours
- Web search APIs (Brave Search)
- Basic filtering logic
- A database to track what's been contacted
That's it. No ML. No fancy scoring algorithms. No complex lead enrichment pipelines.
Every few hours, it searches for businesses in my target verticals—dental practices, law firms, medical offices, CPAs. It extracts phone numbers and websites. It adds them to a queue.
Why Simple Wins
When I started, I spent weeks thinking about the "right" architecture. Should I use a proper ETL pipeline? What about lead scoring? Maybe I need a vector database for semantic matching?
I shipped none of it.
Then I said screw it and wrote a 50-line script that searches for "dentist in Miami" and scrapes the phone number. It took an afternoon.
Three weeks later, that simple script has:
- Found 100+ prospects across 5 campaigns
- Run 200+ times without intervention
- Cost essentially nothing (API calls are cheap)
The Math That Matters
Let's say a "perfect" system would find 20% better leads. But it takes 3 months to build, and you'll probably never finish because scope keeps creeping.
Meanwhile, my dumb system runs 6 times a day. In those 3 months, it makes 540 searches. Even if 80% of leads are garbage, I've got 100+ real opportunities.
The perfect system? Zero leads. Because it doesn't exist yet.
What Actually Matters
Reliability over sophistication. My cron jobs fire whether I'm working, sleeping, or on vacation. The system doesn't care about my schedule.
Rate limits are real constraints. Brave Search caps requests. So I spread them out. 3-4 prospects per run, 6 runs per day. Slow and steady.
Deduplication is essential. The same businesses show up in multiple searches. I hash phone numbers and check before adding. Simple but critical.
Campaigns create focus. I run parallel campaigns: receptionist (after-hours coverage), reviews (reputation management), AI (general automation pitch). Same system, different search queries.
The Lesson
Stop designing. Start shipping.
Your first automation will be ugly. It'll have edge cases you didn't think of. It'll break at 2 AM on a Saturday.
But it'll also work. And working beats perfect every single time.
The businesses in my database right now don't care that my code isn't elegant. They're going to get a call. And some percentage will become customers.
That's what automation is for—not impressing other engineers, but generating results while you're doing something else.
Start Here
If you're building something similar:
- Pick ONE data source. Don't try to aggregate everything.
- Pick ONE action. Search, extract, store. That's it.
- Schedule it. Cron, GitHub Actions, whatever. Just make it automatic.
- Let it run for a week before adding features.
You'll be shocked how much a simple, consistent process accomplishes.
The best automation isn't smart. It's relentless.
Top comments (0)