# Product Roadmap ## Phase 0 — Foundation (complete) **Status:** Done - Barebone MVP: flat inbox pool, dispatcher, rescuer, AI, REST API - Prisma 7 + SQLite - OpenRouter AI integration - Documentation scaffold (this folder) --- ## Phase 1 — Production warmup core (8–10 weeks) **Goal:** Reliable multi-primary warmup with recipes, roles, and stats. Self-hosted backend only. ### Sprint 1.1 — Domain model & roles (2 weeks) - Add `role` to mailbox (primary / satellite) - Add `WarmupCampaign` entity - Campaign ↔ satellite assignments - Migrate existing inboxes - Deprecate flat random pairing **Deliverable:** API to create campaign with satellites; no sends yet. ### Sprint 1.2 — Recipe engine (2 weeks) - Implement Grow, Flat, Randomized, Custom - `DailySchedule` generation - Duration 30–45 days, min/max validation - 48h volume cap - `POST /recipes/preview` **Deliverable:** Unit-tested schedule for all 4 recipes. ### Sprint 1.3 — Campaign dispatcher (2 weeks) - Role-aware send: satellite → primary only - Reply path: primary → satellite - Jitter + send windows - Campaign day rollover - Idempotency keys **Deliverable:** End-to-end warmup with one primary + 4 satellites. ### Sprint 1.4 — Reply rate engine (1 week) - Probabilistic 30% default replies - `engaged_no_reply` status - Daily reply budget tracking **Deliverable:** Reply rate within ±5% of target over 7 days. ### Sprint 1.5 — Stats API (1 week) - `DailyStat` rollups - `/campaigns/:id/stats/today` and `/stats/daily` - On-track calculation **Deliverable:** JSON stats matching manual log counts. ### Sprint 1.6 — AI content validator (1 week) - Placeholder regex rejection - Spam word tiers - Regenerate loop (max 3) - Mailbox profile (name, company) **Deliverable:** Zero placeholder emails in 100-test run. --- ## Phase 2 — Operator experience (6–8 weeks) **Goal:** Web UI + hardening for FillCare daily use. ### Sprint 2.1 — Web dashboard MVP (3 weeks) - Vite + React + shadcn - Dashboard, campaign wizard, campaign detail - Mailbox add/test flows ### Sprint 2.2 — Spam rescue hardening (2 weeks) - Per-UID log matching - Placement tracking - Folder auto-discovery - Auto-pause on spam thresholds ### Sprint 2.3 — DNS & health checks (1 week) - SPF/DKIM/DMARC preflight - Provider presets (Gmail/Yahoo/Outlook) ### Sprint 2.4 — Job queue (2 weeks) - Replace batch cron with queued sends - Manual job triggers for dev - Better overlap protection --- ## Phase 3 — SaaS readiness (8–12 weeks) **Goal:** Multi-tenant, billing, optional integrations. - Postgres migration path - Workspace + JWT auth - Stripe billing per primary - Webhooks (campaign events) - Google Postmaster integration - Session-based web auth - Optional peer network (beta) --- ## Phase 4 — Scale & ecosystem (ongoing) - Instantly / Smartlead sync - Inbox placement tests - Team roles - White-label - Mobile notifications --- ## Milestone timeline (visual) ``` 2026 Q2 [Phase 1: Core backend ████████░░] 2026 Q3 [Phase 2: Web UI + hardening ░░░░████████] 2026 Q4 [Phase 3: SaaS beta ░░░░░░░░████] ``` --- ## FillCare-specific milestone | Week | Milestone | |------|-----------| | 1 | hello@fillcareapp.com campaign created, 4 satellites assigned | | 2 | Grow recipe running, stats visible via API | | 4 | Web dashboard live | | 6 | 30-day warmup complete, inbox rate ≥95% | | 8 | Maintenance mode + cold email tool connected | --- ## Definition of done (per phase) ### Phase 1 done when - [ ] 2+ primaries warming concurrently - [ ] All 4 recipes pass integration tests - [ ] Stats API accurate - [ ] Reply rate configurable and honored - [ ] AI validator blocks placeholders - [ ] ESP compliance checklist passable ### Phase 2 done when - [ ] Operator never needs curl for daily use - [ ] Auto-pause tested on simulated spam spike - [ ] FillCare running 30-day campaign via UI ### Phase 3 done when - [ ] Second customer onboarded in isolated workspace - [ ] Billing active - [ ] Security review complete