1
0 Comments

how my AI outreach system writes 500 personalized emails a month (technical breakdown)

people keep asking how the personalization works, so heres the actual system architecture. nothing proprietary here — its all python and common sense.

step 1: prospect discovery
i scrape yellow pages and google for businesses in a target industry + city. pull name, email, website. takes about 30 seconds per page of results. dedup by email.

step 2: website scanning
this is where it gets interesting. for each prospect, my seo analyzer hits their website and extracts:

  • title tag length (is google cutting it off?)
  • meta description (too long? missing?)
  • images without alt text (how many can google not see?)
  • structured data (do they show up in rich results?)
  • overall score out of 100

this takes about 2-3 seconds per site. for 500 prospects thats ~25 minutes of scanning.

step 3: template selection
i have 3 email templates. the system picks which one based on what it found:

  • if lots of images missing alt text → image-focused template
  • if low overall score → score-focused template
  • if nothing dramatic → general template with their top issue

each template has placeholders like {domain}, {missing_alt}, {total_images}, {seo_score} that get filled with real data.

step 4: daily sending
gmail lets you send about 25/day before deliverability starts dropping. so the system sends 25 each morning via smtp. 2.5 minute gap between each one. saves progress after every send so it picks up where it left off if anything crashes.

step 5: follow-ups
5 days after the initial email, anyone who didnt reply gets a follow-up. different angle, still personalized. the follow-up mentions their actual score and offers a free detailed report.

step 6: reply detection
every 30 minutes, the system checks gmail for replies. matches them against the sent log. when it finds one, it sends me a telegram alert with a suggested response based on what the person said.

the whole thing runs on cron jobs. i set it up once and it just goes. scanning happens at setup, sending at 9am, follow-ups at 3pm, reply checking every 30 min.

total lines of python: maybe 800 across all scripts. nothing fancy. requests, beautifulsoup, smtplib, json. runs on a linux server that costs $0 because its my dev machine.

the part that makes money isnt the code — its packaging it as a service so someone else doesnt have to think about any of this. they just get leads showing up in their inbox.

if youre building something similar, happy to share more details about any specific part.

posted to Icon for group SaaS Marketing
SaaS Marketing
on March 28, 2026
Trending on Indie Hackers
I'm a lawyer who launched an AI contract tool on Product Hunt today — here's what building it as a non-technical founder actually felt like User Avatar 151 comments Never hire an SEO Agency for your Saas Startup User Avatar 89 comments A simple way to keep AI automations from making bad decisions User Avatar 65 comments “This contract looked normal - but could cost millions” User Avatar 54 comments 👉 The most expensive contract mistakes don’t feel risky User Avatar 41 comments We automated our business vetting with OpenClaw User Avatar 34 comments