Python lead-discovery and AI outreach pipeline, handed over for the client to run himself
A Python system that finds local businesses on Google Maps, collects their published contact details, writes a personalised email for each with Gemini, and sends it with pacing.
Click any image to view it full size
The client sold website builds to local businesses and wanted the top of his funnel automated: find companies on Google Maps that either have no website or an obviously outdated one, gather their published contact details, have an AI write something personal to each of them, send it, and report back on what happened.
We built a custom Python command-line system that does exactly that, end to end.
The command surface is deliberately small: --find, --preview, --send, --report and --dashboard.
An outreach tool is worthless if the mail lands in spam. We set up the client's Google Cloud and Gemini API access, and configured his Namecheap Private Email DNS — MX and SPF records, with DKIM and DMARC attempted — before any campaign ran.
The client is not a developer, so the handover mattered as much as the build. We walked him through installing Python on Windows and running campaigns himself, and shipped four double-click .bat launchers (SETUP, FIND, SEND, SEE RESULTS) alongside written documentation: WALKTHROUGH, README, HANDOVER, COMMANDS and a CITY-PACK, plus a private handbook covering 58 cities and over 100 business categories.
We ran live London campaigns from the system: 140 businesses collected, 70 email addresses, 136 phone numbers and 20 emails sent. The client then ran it himself for London, Manchester and Birmingham and pasted his own run output back into the chat. He released the milestone with a bonus and left a review calling the work professional and delivered on time.
Turn a manual prospecting habit into a repeatable system for a non-technical operator: discover the right local businesses at scale, find real contact details, write something that doesn't read like a mail merge, and send it without burning the sending domain.
We built a Python command-line outreach system with YAML-defined campaigns, Google Places discovery, website email scraping, Gemini-written per-business copy, and SMTP sending rotated across three mailboxes with daily limits and warm-up spacing. We configured the client's API access and mail DNS, then packaged the whole thing behind four double-click launchers with extensive written documentation so he could run it unaided.
Live London campaigns collected 140 businesses, 70 emails and 136 phone numbers, with 20 emails sent. The client installed Python, ran his own campaigns across London, Manchester and Birmingham, released the milestone with a bonus, and left a review describing 100% professionalism and on-time delivery.
Category
Automation
Industry
Web Services / B2B Sales
Year
2026
Components
0 repositories
Automation
Invite counting and automatic role assignment for a Discord community
Automation
Macro-free compliance reporting workbook built to a 13-part specification
Automation
Packaged desktop app and CLI for individually addressed mail over M365 SMTP