Menu

Connect

šŸ“ Post

Automating Lead Gen: AI That Finds Bad Websites and Fixes Them

aiautomationlead-generationn8nbusiness
By Ryan Cwynar••4 min read

What if you could automatically find businesses with terrible websites, generate beautiful redesigns, and reach out—all without lifting a finger?

I built exactly that. Here's the full system.

The Problem

Millions of small businesses have websites that hurt more than they help. Broken layouts, missing contact info, no mobile optimization, Comic Sans. You know the type.

These businesses need help. They just don't know it yet.

The Pipeline

Google Maps API → Website Scraper → AI Scorer → Mockup Generator → Outreach Automation

Each step is automated. Let's break it down.

Step 1: Finding Businesses

Google Maps API + Places API gives you everything:

const businesses = await maps.placesNearby({
  location: { lat: 40.7128, lng: -74.0060 },
  radius: 5000,
  type: 'plumber' // or any business type
});

// Returns: name, address, phone, website, rating, reviews

I target specific industries: plumbers, electricians, contractors, restaurants. High-value services with often-neglected web presence.

Step 2: Scraping & Scoring Websites

For each business with a website, I run a quality analysis:

const score = await analyzeWebsite(url);

// Checks:
// - Mobile responsiveness (viewport meta, media queries)
// - Page speed (Lighthouse scores)
// - SSL certificate
// - Contact info visibility
// - Modern design patterns
// - Broken links/images
// - SEO basics (title, meta, h1)

Businesses scoring below 40/100 are prime candidates.

Step 3: AI-Generated Mockups

This is where it gets interesting. Using the scraped content, I generate a modern redesign:

const mockup = await generateMockup({
  businessName: business.name,
  industry: business.type,
  existingContent: scrapedText,
  colorScheme: inferBrandColors(existingLogo),
  template: 'modern-service-business'
});

The mockup isn't just a template—it's customized with their actual business info, services, and contact details.

Then I screenshot it with Puppeteer:

const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setContent(mockup.html);
const screenshot = await page.screenshot({ fullPage: true });

Step 4: Automated Outreach

Now I have:

  • Business contact info
  • Their current website (ugly)
  • A beautiful mockup screenshot
  • A quality score showing what's wrong

The outreach is personalized:

Hi [Name],

I was looking for a [plumber] in [City] and found your website. 

I noticed a few things that might be costing you customers:
- [Specific issues from the score]

I put together a quick mockup of what a modern version could look like.
[Attached: mockup screenshot]

No pressure—just thought you'd want to see it. Happy to chat if you're interested.

- Ryan

The Results

From a test run of 50 businesses:

  • 15 SMS sent
  • 9 emails sent
  • 4 responses (16% response rate)
  • 2 calls scheduled
  • 1 paying customer ($25/month)

Not bad for zero manual work.

The Tech Stack

  • Google Maps API: Business discovery
  • Puppeteer: Website screenshots
  • GPT-4: Content analysis, mockup generation
  • n8n: Workflow orchestration
  • Twilio: SMS outreach
  • Mailgun: Email outreach
  • PostgreSQL: Tracking and CRM

Why This Works

The "proof of work" principle. When someone sends you a custom mockup of your business, it's obvious they put in effort. It's not spam—it's a gift.

Most cold outreach fails because it's generic. This isn't.

Ethical Considerations

A few rules I follow:

  1. Never mislead: The mockup is clearly labeled as a concept
  2. Easy opt-out: Every message has a clear way to say no
  3. Respect frequency: One touch per business, period
  4. Genuine value: Only reach out if the mockup is actually better

This isn't about tricking people. It's about showing them something they didn't know was possible.

Scaling Up

The system runs on a schedule:

  • Monday: Scrape new businesses in target area
  • Tuesday: Score and filter candidates
  • Wednesday: Generate mockups
  • Thursday-Friday: Send outreach

All automated. All tracked. All iterating based on what works.


Building outreach automation? The key is genuine personalization at scale. AI makes it possible.