Production Lead Scoring System
Built ML-powered lead scoring processing 20,000+ subscribers with real revenue impact
Overview
Designed and built a production machine learning system for lead scoring, collaboratively developed with AI assistance
Problem
Client needed to prioritize sales outreach across a large subscriber base but had no systematic way to identify high-intent leads. Manual review was impossible at scale, and basic rules-based scoring missed nuanced signals.
Constraints
- No data science team available
- Must integrate with existing CRM (Go High Level)
- Needed production-ready, not just a prototype
- Limited ML experience at project start
Approach
Used collaborative AI development to bridge the ML knowledge gap. Built the system iteratively: started with data exploration in Jupyter notebooks with Claude, developed feature engineering logic together, and deployed to production using Google Cloud Functions. The 'sparring' process—working through problems step by step rather than just getting answers—built the judgment needed to make good decisions.
Key Decisions
Collaborative development with Claude rather than outsourcing or learning ML from scratch
Traditional path would take months. Pure outsourcing would leave me unable to maintain or improve the system. Collaborative AI development let me build real capability while shipping.
- Hire a data science contractor
- Complete ML bootcamp first
- Use off-the-shelf scoring tool
Deploy on Google Cloud Functions with BigQuery
Serverless reduces operational overhead. BigQuery handles the data scale without infrastructure management. Already familiar with GCP from previous work.
- AWS Lambda + Redshift
- Self-hosted on VPS
- SaaS ML platform
Tech Stack
- Python
- scikit-learn
- Google Cloud Functions
- BigQuery
- Go High Level API
- Jupyter Notebooks
Result & Impact
- 20,000+Subscribers Scored
- Focused outreach on top 15% of leadsSales Team Efficiency
- Direct impact on closed dealsRevenue Attribution
Transformed an overwhelming subscriber list into actionable priorities. Sales team now has confidence in who to call first. System continues to run in production with minimal maintenance.
Learnings
- Capability loading (AI assistance) is real, but the judgment comes from sparring—working through problems, not just getting answers
- Production ML is 80% data pipeline, 20% model
- Starting with exploratory notebooks before committing to architecture saves significant rework
- You don't need to become a data scientist to build ML systems—you need to know enough to make good decisions
The Capability Loading Story
A year before this project, I signed up for a Python ML course. Quit after a few modules—environment setup, package dependencies, technical friction I couldn’t resolve. The gap between what I wanted and what I could execute felt permanent.
Same course, one year later. Claude handled the infrastructure friction. But the real difference wasn’t the capability loading—it was the sparring. Working through problems together, debugging together, building understanding rather than just getting answers.
I finished the course and built this production system. Not because AI did it for me, but because AI collaboration let me develop the judgment to do it myself.