warmbox/docs/16-roadmap.md

173 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 (810 weeks) — **Done**
**Goal:** Reliable multi-primary warmup with recipes, roles, and stats. Self-hosted backend only.
### Sprint 1.1 — Domain model & roles (2 weeks) — **Done**
- Workspace, `WarmupCampaign`, satellite assignments, Grow recipe, AI validator
- Campaign API; legacy dispatcher gated when campaigns exist
**Deliverable:** API to create campaign with satellites; Grow schedule + preview.
### Sprint 1.2 + 1.3 — Recipes + live dispatcher (combined) — **Done**
- All 4 recipes: Grow, Flat, Randomized, Custom
- Campaign dispatcher (satellite → primary), send windows, jitter
- Day rollover, maintenance at 20%, campaign-aware rescuer
**Deliverable:** End-to-end warmup with any recipe; emails actually send.
### Sprint 1.2 — Recipe engine (original scope, absorbed)
- ~~Implement Grow, Flat, Randomized, Custom~~ → shipped in 1.2+1.3 combined sprint
- Grow + preview delivered in 1.1; remainder completed in 1.2+1.3
### Sprint 1.3 — Campaign dispatcher (original scope, absorbed)
- ~~Role-aware send, jitter, rollover~~ → shipped in 1.2+1.3 combined sprint
### Sprint 1.4 — Reply rate engine (1 week) — **Done**
- Probabilistic 30% default replies, `engaged_no_reply` status
- Daily reply budget tracking, spam counter increments
- See [`docs/sprints/sprint-1.4.md`](sprints/sprint-1.4.md)
**Deliverable:** Reply rate within ±5% of target over 7 days.
### Sprint 1.5 — Stats API (1 week) — **Done**
- `DailyStat` rollups, stats endpoints, workspace overview
- On-track calculation, compliance API (warn-only DNS)
- See [`docs/sprints/sprint-1.5.md`](sprints/sprint-1.5.md)
**Deliverable:** JSON stats matching manual log counts.
### Sprint 1.6 — AI content validator (1 week) — **Done (merged into 1.1)**
- Placeholder regex rejection, spam word tiers, regenerate loop
- Delivered with Sprint 1.1
---
## Phase 2 — Operator experience (68 weeks) — **Done**
**Goal:** Web UI + hardening for FillCare daily use.
### Sprint 2.0 — Monorepo foundation — **Done**
- npm workspaces (`apps/api`, `apps/web`, `packages/shared`)
- Dev CORS + production static SPA hosting
- See [`docs/sprints/sprint-2.0.md`](sprints/sprint-2.0.md)
### Sprint 2.1 — Web dashboard MVP (3 weeks) — **Done**
- Vite + React + shadcn operator dashboard
- Dashboard, campaign wizard, campaign detail, mailboxes, settings
- See [`docs/sprints/sprint-2.1.md`](sprints/sprint-2.1.md)
### Sprint 2.2 — Spam rescue hardening (2 weeks) — **Done**
- Per-UID log matching
- Placement tracking
- Folder auto-discovery
- Auto-pause on spam thresholds
- See [`docs/sprints/sprint-2.2.md`](sprints/sprint-2.2.md)
### Sprint 2.3 — DNS & health checks (1 week) — **Done**
- SPF/DKIM/DMARC preflight
- Provider presets (Gmail/Yahoo/Outlook)
- See [`docs/sprints/sprint-2.3.md`](sprints/sprint-2.3.md)
### Sprint 2.4 — Job queue (2 weeks) — **Done**
- SQLite-backed send queue with idempotency
- Job run log + manual triggers
- See [`docs/sprints/sprint-2.4.md`](sprints/sprint-2.4.md)
**FillCare QA:** [`docs/fillcare-qa-playbook.md`](fillcare-qa-playbook.md)
---
## Phase 3 — SaaS readiness (812 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
- [x] 2+ primaries warming concurrently
- [x] All 4 recipes pass integration tests
- [x] Stats API accurate
- [x] Reply rate configurable and honored
- [x] AI validator blocks placeholders
- [x] ESP compliance checklist passable (`GET /api/campaigns/:id/compliance`)
### Phase 2 done when
- [x] Operator never needs curl for daily use
- [x] Auto-pause tested on simulated spam spike (unit threshold tests + rescuer integration path)
- [ ] FillCare running 30-day campaign via UI (operator acceptance — see FillCare QA playbook)
- [x] Dashboard usable on phone (375px) for monitoring; setup flows work on tablet+
### Phase 3 done when
- [ ] Second customer onboarded in isolated workspace
- [ ] Billing active
- [ ] Security review complete