Roadmap
Five phases, tracked as they're actually built — not as a plan.
-
01
Lead Pipeline
Done- CSV / XLSX import
- Normalization
- Deduplication
- ICP / industry qualification
- Website validation
- MX checks
- SMTP mailbox verification
- Qualification states
-
02
CRM
Done- Leads
- Campaigns
- ICP configuration
- Lead assignment
- Lead activity / status
- Qualification evidence
- Campaign eligibility
CRM is the source of truth.
-
03
Outreach Engine
Done- Atomic lead dispatch
- Lead claiming
- Duplicate-dispatch protection
- Stale claim recovery
- Campaign-based assignment
- SENT status tracking
- Idempotent webhook handling
-
04
AI Email Workflow
DoneCRM → n8n → Gemini → Email → CRM
- CRM selects eligible leads
- n8n orchestrates execution
- Gemini generates personalized openings
- Email infrastructure sends
- CRM records the result
n8n is the orchestration layer — not the database.
-
05
Production Deployment
Done- Production CRM deployed
- Isolated PM2 process
- Dedicated port
- Caddy reverse proxy
- HTTPS
- Basic authentication on CRM pages
- Protected dispatch / webhook endpoints
- Existing applications isolated from deployment
Stack
Only what's actually running in production.
Application
Next.js
TypeScript
Data
PostgreSQL
Supabase
Automation & AI
n8n
Gemini
Verification
Go
SMTP worker
Infra
Caddy
PM2
This site
Vercel
Architecture
One path, one direction, one source of truth.
Lead Source
↓
CRM
↓
Qualification + Verification
↓
Campaign
↓
Atomic Dispatch
↓
n8n
↓
Gemini
↓
Email
↓
CRM
CRMsource of truth
n8norchestration
Geminipersonalization
Verification layer
Mailbox verification and domain authentication are separate problems.
Today
MX + SMTP
Confirms a mail server exists for the domain, and probes whether the specific mailbox accepts mail.
Campaign lifecycle
Campaign→
Eligible leads→
Assignment→
Dispatch→
Personalization→
Send→
SENT
Planned
- Bounce / event processing
- Reply tracking
- Follow-ups
- Campaign analytics
- Domain authentication signals
- More advanced campaign controls
Code / Infrastructure
Private repository — not yet published.
skimmy-outreach-dashboard
Local project, no public URL yet.