Project Type
Python CLI automation workflow
Operational MVP
Lead Intelligence Engine is a Python CLI project that turns raw local business search results into structured, human-reviewed outreach preparation files.
It searches Google Places, enriches leads from public websites, scores fit with deterministic rules, uses OpenAI only on qualified leads, and exports outreach review rows for manual decision-making. It does not automate outreach.
This project is a CLI-first workflow for safer lead research and outreach preparation. Instead of scraping aggressively or sending messages automatically, it produces reviewable CSV artifacts at each stage so a human can inspect the lead data, fit signals, and draft messaging before any contact happens.
Project Snapshot
The current implementation covers Google Places search, website enrichment, deterministic scoring, OpenAI Responses API analysis for qualified leads, structured JSON validation, and outreach review CSV generation.
Python CLI automation workflow
Lead research and outreach preparation
Search - Enrich - Score - Analyze - Review
MVP implemented through Phase 4
The Problem
Business listings can provide names, ratings, websites, and phone numbers, but they do not explain whether a company is a good fit, what services may be relevant, or whether outreach should happen at all. Manual research is slow, while fully automated outreach is risky and low-trust.
Prepare structured lead intelligence for human review by combining public business search, website enrichment, scoring rules, and bounded LLM analysis.
Terminal-First Workflow
$ lead-engine search --vertical marketing_agency --city "Dallas, TX" --max-results 10 Wrote 10 deduped raw leads to data/raw/places.csv $ lead-engine enrich --input data/raw/places.csv --output data/processed/websites.csv --max-websites 10 Wrote website enrichment rows to data/processed/websites.csv $ lead-engine score --input data/processed/websites.csv --output data/processed/leads_scored.csv Wrote scored lead rows to data/processed/leads_scored.csv $ lead-engine analyze --input data/processed/leads_scored.csv --output outputs/outreach_review.csv --limit 10 --dry-run Dry run: qualified leads would be analyzed. $ lead-engine analyze --input data/processed/leads_scored.csv --output outputs/outreach_review.csv --limit 10 Wrote outreach review rows to outputs/outreach_review.csv
The workflow is CLI-first and CSV-first. Each stage writes a concrete artifact so the process stays inspectable and easy to debug locally.
Pipeline
OpenAI is used only after heuristic filtering marks a lead as worth deeper analysis, which helps control cost and avoids spending on poor-fit rows.
What It Does
Key Features
Finds businesses by city and vertical with normalized CSV output.
Extracts visible text, contact signals, page links, and public website metadata.
Uses rules, thresholds, and service matching before any LLM analysis step.
Validates qualified-lead analysis through strict structured JSON output.
Example Review Output
The implemented output includes columns such as company name, website, city, fit scores, pain signals, best service match, personalization angle, draft subject/body, recommended next action, status, and notes.
company_name,website,city,heuristic_fit_score,llm_fit_score,lead_quality,pain_signals,best_service,recommended_next_action,status Acme Digital Studio,https://example.com,"San Diego, CA",82,79,high,"reporting; content QA",workflow automation,review,needs_review Local Growth Agency,https://example.org,"Chula Vista, CA",71,74,medium,"lead follow-up; reporting",reporting automation,review,needs_review
Designed Boundaries
The repository explicitly avoids aggressive automation and treats human review as a required final step before any contact.
Technical Stack
CLI runtime and workflow orchestration.
Command-line interface for search, enrich, score, and analyze commands.
Public website fetching and content extraction.
Structured analysis validation through the Responses API.
Why It Matters
This project demonstrates a practical approach to automation work: keep the workflow narrow, make every step inspectable, use simple files before heavier infrastructure, control API usage, and use AI only where added judgment helps.
About This Demo Page
The actual project runs locally as a Python CLI and requires user-provided Google Places and OpenAI API keys. This public page does not expose backend services, API keys, private data, or real lead records.
Static HTML only, focused on explaining the workflow, boundaries, and technical implementation without implying a live SaaS product.
Contact
I build lightweight Python automation tools and AI-assisted workflows for teams with repetitive operational processes.