Production

Lead Hunter Pro v2

AI-powered B2B lead generation platform

Python Flask SQLite SendGrid Ollama Google Places API
14,600+
Lines
27
Tables
81+
Routes

Full-lifecycle lead generation: scrape businesses from 5 sources, score with AI, enrich emails and social profiles, deliver to clients with territory exclusivity, collect feedback, auto-adjust scoring. CAN-SPAM compliant email campaigns with SendGrid, drip sequences, and 45-day compliance wipe.

Single-file Flask monolith by design — one Python file containing all routes, templates, logic, and scheduled jobs. This makes deployment dead simple: copy one file, restart. The database is SQLite, stored separately from the app.

The scraper engine supports 5 sources with a unified interface. Each source module returns normalized lead data that feeds into the same scoring pipeline. An ALL mode runs every source in sequence with deduplication.

Email infrastructure uses a priority chain: SendGrid API first, SMTP fallback, then simulated sends for development. The send_email() function never crashes the app — all failures are logged and silently handled.

The AI assistant uses a 4-provider failover chain: Anthropic Claude, Ollama (local llama3.1), OpenAI, and a keyword-based fallback. It has full database context — it can answer questions about your leads, pipeline, and system health by querying live data.

Compliance is built into every layer. 45-day data wipe runs on schedule. DNC checking happens before every delivery. CAN-SPAM footers with unsubscribe links are injected into every outbound email. Open/click tracking uses per-send unique IDs.

Lead Hunter Pro started as a simple Google Places scraper — pull businesses by industry and location, dump them in a database. Version 1 had maybe 2,000 lines and did one thing: scrape and list.

The rebuild into v2 was driven by a real question: what would a trades business owner actually need to turn leads into revenue? That meant scoring (not all leads are equal), territory exclusivity (two clients in the same city shouldn't get the same lead), delivery automation, and feedback loops that adjust scoring over time.

The biggest lesson was compliance. CAN-SPAM, DNC lists, data retention limits — this stuff isn't optional if you're sending real emails to real businesses. Building the 45-day wipe and multi-state compliance framework took longer than building the scraper itself.

v2 grew from 2,000 lines to 14,600+ lines across 27 database tables. It's now a complete business platform, not just a scraper. The AI assistant alone handles four different LLM providers with automatic failover.

Version 1 — Where It Started

Current Version — Where It Is Now

← Back to All Systems