- Google Places API for geographic lead sourcing
- Crawlee + Scrapling MCP (stealth fallback on port 8787)
- 5-stage enrichment waterfall: web scrape, browser probe, API enrichment, LinkedIn, social profiles
- 527 fields collected across 20 APIs
System Deep Dive
Snapshot: March 2026
Lesswork Leads, autonomous lead gen with proof the prospect needs help.
A lead generation SaaS that finds local businesses with bad websites, runs a 1,300+ point audit across 15 categories, enriches each lead with Census, BLS, BEA, and FRED market data, qualifies and drafts personalized outreach with Claude Opus, and delivers branded Typst PDF reports. Competitors sell contact info. This system sells proof.
Pipeline
Discover, audit, enrich, qualify, draft, deliver.
Google Places finds candidates. Crawlee and Scrapling scrape them. PageSpeed Insights and a 1,300+ point engine audit them. Federal data enriches the market context. Claude Opus qualifies and drafts one lead at a time. Typst generates branded PDFs.
- 15 categories: SSL, SEO, tech stack, security, accessibility, social, GBP, DNS, content, schema, analytics, CTA, privacy, reviews, domain intel
- PageSpeed Insights (35+ fields) + Playwright fast-probe (28 fields)
- Moz Links API for domain authority (69+ fields)
- Wayback Machine for historical snapshots
- Tiered depth routing — light, standard, or deep per lead
- Census ACS — income, population, education, broadband, poverty
- Census CBP — establishment counts by NAICS code
- BLS — unemployment rate time series
- BEA — state-level personal income trends
- FRED — fed funds rate, CPI, mortgage rates, consumer sentiment
- SEC EDGAR — company filing enrichment
AI Layer
Claude Opus qualifies and drafts. One lead at a time.
- Claude CLI spawned per lead — no batching, full context per business
- Evaluates: real local business? Site genuinely needs help? Red flags?
- Returns structured JSON with qualified/not, reason, and observations
- Concurrency capped at 5 for rate limit safety
- Opus drafts personalized outreach referencing specific audit findings
- Per-lead audit briefs (~4 pages) with score badges and risk levels
- Pipeline run reports (~7 pages) with market-level intelligence
- Full packages (~31 pages) combining all briefs + market report
- Typst-generated branded PDFs with Lesswork visual identity
Outreach
Email, forms, sequences, and compliance from day one.
- Resend API with rate limiting (1 per 2s, max 50 per batch)
- 3-layer live-send safety: global kill switch + per-client policy + arm window
- HMAC-signed unsubscribe links
- Domain warmup state machine
- Playwright automation for contact form submission
- State machine worker with domain allow/block rules
- Per-project circuit breaker for failure isolation
- Field mapper for form-to-contact value resolution
- CAN-SPAM/GDPR suppression lists synchronized across systems
- Deliverability guard: bounce rate <5%, complaint rate <0.3%
- Per-domain per-day send rate tracking
- SPF + DKIM + DMARC on all sending domains
Data Layer
30+ tables. Multi-tenant. Event-sourced lead lifecycle.
- 30+ tables scoped by project column for multi-tenant isolation
- Lead entity resolution with SHA-256 + Jaro-Winkler fuzzy dedup
- Event sourcing for full lead lifecycle tracking
- 16 repository modules with factory pattern
- JSONB columns for market snapshots, EDGAR signals, audit artifacts
- 1,534 tests across 115 files (Vitest, 80% coverage threshold)
- Playwright end-to-end tests for the marketing site
- 301 TypeScript source files in the pipeline
- Audit cache with 7-day TTL to avoid redundant checks
Stack
Hono pipeline, Next.js site, PostgreSQL, Claude Opus.
- TypeScript
- Hono
- PostgreSQL
- Next.js
- Vercel
- Stripe
- Claude Opus
- Crawlee
- Scrapling
- Playwright
- Typst
- Resend
Need a lead pipeline that delivers proof, not just contact info?
That takes audit engineering, data enrichment, and compliance infrastructure — not a scraping script.