A professional brief for how this system runs, and how to deploy it per client.
Not a lead list. A five-stage automaton that turns real buying signals into qualified, tracked revenue opportunities — with every record carrying evidence and every stage handing a human its next step.
HUNT → REFINE → CAPTURE → ACT → LEARN → (feeds HUNT)
| Layer | Where | What it does automatically |
|---|---|---|
| HUNT | cron/hunt.ts, email/lead-intake.ts, IG webhook | Watches a real source (sheet/JSON feed every 15 min), ingests forwarded email, and receives IG DMs/comments via Meta webhook. Real signals only. |
| REFINE | backend/outbound.ts | Scores any real public signal (0–100), writes the signal + recommended action, and auto-drafts a personalized first-touch quoting the actual message. |
| CAPTURE | lib/store.ts | Promotes a prospect/signal to a verified lead the moment a real email/phone is confirmed. Budget seekers are rejected; nothing is invented. |
| ACT | cron/automate.ts, pipeline status API | Every 15 min: flags hot leads idle >24h, nudges them to the work queue, and (only with ENABLE_AUTOSEND=1) sends that auto-drafted first touch to verified contacts. Pipeline moves new → … → won/lost with full history. |
| LEARN | /api/analytics | Reports conversion by stage, source, and signal so budget flows to what actually produces revenue. |
| Cron | Frequency | Job |
|---|---|---|
cron/hunt.ts | every 15 min | Pull the configured real source into the pipeline |
cron/automate.ts | every 15 min | Nudge stale hot leads + auto-send first touches (guarded) |
email/lead-intake.ts | on email | Qualified every forwarded inquiry instantly |
ENABLE_AUTOSEND=1 to let the engine
email. Otherwise it dry-runs for human review — responsible, not spam.This engine is whitelabeled via env config, so the exact same code powers a new client without edits:
DLX_BRAND_NAME to the client's brand (used in capture copy + drafts)./api/ingest, their Google Sheet to DLX_HUNT_URL, their Meta app to the IG
webhook, and/or forwards DMs to their deployment's email intake address.qualifier.ts,
enable ENABLE_AUTOSEND when the client approves, and review /api/analytics.Because each deployment is isolated, you can run many brands safely from one Codebase, and a client's data, channels, and secrets never mix.
DLX_HUNT_URL (+ DLX_HUNT_TOKEN if private).POST /api/ingest and/or embed /capture.dlxdesigns-…@valtown.email as an intake address for DMs/leads.GEMINI_API_KEY for AI-refined signals.database/schema.sql in Supabase to enable the mirror./api/analytics weekly; tune scoring in qualifier.ts.