I built a fully automated pipeline that finds local businesses without websites, generates stunning demo sites using AI, and crafts personalized outreach messages—all in under 15 minutes per lead. Now I’m sharing the full blueprint so you can do it too.
If you’re a freelance developer, solo founder, or small agency owner, you know the hardest part isn’t building websites—it’s finding clients who actually need one.
What if you could:
- Discover high-potential local businesses automatically?
- Generate a custom demo website for them in seconds?
- Send a hyper-personalized DM with a live preview?
That’s exactly what my pipeline does. And today, I’ll walk you through how to build it from scratch—even if you’ve never used an API before.
🔍 The Problem: Great Businesses, Terrible Websites (or None!)
I kept noticing amazing local spots—repair shops, salons, cafes—with 4+ star Google reviews, dozens of customers, but no real website. Just a Facebook page or nothing at all.
These are perfect prospects:
- They have paying customers ✅
- They care about reputation ✅
- They’re missing a digital storefront ❌
But manually finding them? Tedious. Calling/emailing without a demo? Low conversion.
So I automated it.
🧠 The Solution: A 5-Step “Lead-to-Demo” Pipeline
Here’s how it works end-to-end:
- Find businesses on Google Maps (using SerpApi)
- Filter for high-quality leads (4+ stars, 20+ reviews, no website)
- Score each lead (0–100) based on potential
- Generate a beautiful, responsive demo site using Jinja2 templates
- Reach out with a personalized message + live demo link
Total time per lead: 10–15 minutes.
And most of it is automated.
🛠️ Tech Stack (All Free or Low-Cost)
- SerpApi – Scrape Google Maps data (250 free searches/month)
- Python – Orchestrate the pipeline
- Jinja2 – Render HTML templates with dynamic business data
- SQLite – Store & track leads (lightweight, no setup)
- DB Browser for SQLite – Visually explore your leads
- Lovable / Framer / Durable – Optional: auto-generate final sites
Everything runs locally. No servers needed.
📦 Project Structure (Clean & Modular)
find-local-business/
├── pipeline.py # Main CLI entry point
├── business_finder.py # Fetches from Google Maps via SerpApi
├── validator.py # Filters & scores leads
├── demo_generator.py # Renders HTML demos with Jinja2
├── database.py # SQLite CRUD operations
├── outreach_tracker.py # Logs contacts & responses
├── templates/ # Reusable HTML/CSS templates
│ ├── restaurant.html
│ ├── tech_repair.html
│ └── service.html
├── .env # Your API keys (gitignored)
└── requirements.txt
Each module can be tested independently—great for learning!
▶️ Step-by-Step: How to Run It
1. Get a Free SerpApi Key
Go to serpapi.com → Sign up → Get 250 free searches/month.
2. Clone & Install
git clone https://github.com/yourname/find-local-business.git
cd find-local-business
pip install -r requirements.txt
cp .env.example .env
3. Add Your API Key
Edit .env:
SERPAPI_KEY=your_actual_key_here
MIN_RATING=4.0
MIN_REVIEWS=20
4. Run Your First Search
python pipeline.py --category "barber" --location "Austin TX" --limit 10 --demos
✅ Finds barbershops in Austin
✅ Filters for 4+ stars, 20+ reviews, no website
✅ Generates demo sites for top leads
✅ Saves everything to leads_database.db
🎨 Demo Websites That Impress
I designed 3 responsive templates using modern CSS (glassmorphism, gradients, mobile-first):
- Restaurant: Menu showcase + reviews + click-to-call
- Tech Repair: Emergency banner + services grid + trust badges
- General Service: Flexible layout for plumbers, salons, etc.
Each demo pulls real business data:
- Name, rating, address
- Phone number (click-to-call ready)
- Google Maps embed
- Review highlights
All generated in <2 seconds with:
demo_html = template.render(business_data)
💬 Outreach That Converts
Instead of “Hi, I build websites,” try:
“Hi [Name],
I noticed [Business] has 4.7★ from 89 customers—but no website!
So I built a quick demo showing how it could look: [link]
Would you be open to a 10-min chat this week?”
The pipeline auto-generates these messages. You just copy-paste into Instagram, WhatsApp, or email.
And yes—I’ve already booked 3 clients this way. 🎯
📊 Track Everything in SQLite
Use DB Browser for SQLite to:
- View your lead list
- Sort by score (85+ = prime!)
- Export to CSV
- Log outreach attempts
No CRM needed. Just a single .db file.
💡 Pro Tips for Success
- Start hyper-local – Your own city = easier follow-up
- Niche down – Master “coffee shops” before expanding
- Customize demos – Swap colors/logo if you have time
- Follow up twice – Most replies come on the 2nd message
- Use Lovable.ai – Paste your demo HTML → get a hosted URL in 1 click
📈 Cost & Scalability
- Free tier: ~250 leads/month (perfect for solopreneurs)
- $25/month: 1,000 leads → enough for a small agency
- Each lead costs ~$0.025 in API fees
Time saved: 5–10 hours/week on prospecting.
🚀 Ready to Try It?
- Grab the code (I’ll open-source it soon—or DM me!)
- Get your SerpApi key
- Run your first search
- Send your first demo
You’ll go from “I need clients” → “I have a demo ready for you” in under 15 minutes.
🔗 Helpful Resources
Your turn: Have you tried automating lead gen? What tools do you use? Let’s discuss in the comments! 👇
And if you’d like the full GitHub repo when it’s public, drop a ❤️ or follow me @azeemshafeeq.
See my portfolio: Azeem Shafeeq
Happy building—and happy prospecting! 🚀
Top comments (0)