5.1 KiB
5.1 KiB
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) — 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_replystatus - Daily reply budget tracking, spam counter increments
- See
docs/sprints/sprint-1.4.md
Deliverable: Reply rate within ±5% of target over 7 days.
Sprint 1.5 — Stats API (1 week) — Done
DailyStatrollups, stats endpoints, workspace overview- On-track calculation, compliance API (warn-only DNS)
- See
docs/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 (6–8 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
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
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
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
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
FillCare QA: docs/fillcare-qa-playbook.md
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 (
GET /api/campaigns/:id/compliance)
Phase 2 done when
- Operator never needs curl for daily use
- 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)
- 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