Skip to main content

Roadmap

:::info Source Sourced from docs/ROADMAP.md in the documentation repo. :::

This is the execution layer. The end-state specification lives in README.md and docs/01-14 + service docs in docs/03-microservices/. This roadmap sequences how to ship the full product without rework.

This file is the index. Detailed execution artifacts live under docs/roadmap/.

Companion Documents

FilePurpose
Slice → Epic → Story MappingEvery US-1 … US-118 mapped to a slice + milestone + sprint-ready backlog
Service Readiness GatesPer-service "ready" definitions per milestone (domain, API, events, sync, AI, security, perf)
Architectural Freeze PointsWhich contracts must freeze before each milestone (PlayPackage, Sync, Events, AI Gateway, SCORM, RRULE)
Team Capacity & Load ModelTeam composition per milestone, critical-path teams, parallelization
Slice-Level Risk RegisterRisks, severity, impact, mitigation, owner per slice
Slice Release ReadinessFunctional, NFR, AI, offline, security, multi-tenant, observability, docs gates per slice
Customer-Facing PackagingWhat customers see, buy, pricing tier, onboarding, docs, support per slice
Migration & Backward CompatibilitySchema versioning, tenant migration, bundle migration, AI prompt evolution, SCORM/xAPI versioning

0. Guiding Principles

  1. Every slice ships to customers. No dormant code. No "phase 2 dumping."
  2. Foundations once, reused N times. Tenant isolation, event envelope, AI gateway, sync protocol are built in M0 and never re-architected.
  3. AI-first and offline-first from M1. They are the moat; late-binding them forces rewrites.
  4. Monetizable milestones. M2 produces revenue; every subsequent milestone grows ARR.
  5. Architecture is non-negotiable. DDD boundaries, Clean Architecture, event-only integration, multi-tenant at every layer. Velocity comes from skipping features, never architecture.
  6. Freeze before build. Contracts (schemas, protocols, ports) freeze before the code that uses them — see architectural-freeze-points.md.

1. Executive Roadmap

MilestoneNameDurationCumulativeCustomersPrimary ValueRevenue
M0Platform Foundation3 moM+3Internal onlyTenant iso, event spine, AI gateway, sync spine
M1First Marketable Product (FMP)3 moM+63–5 paid design partnersLearner + AI tutor + offline + provisional certsPilot fees
M2First Sellable Product (FSP)3 moM+9Self-serve customersAuthoring MVP + Marketplace + SCORM 1.2 + BillingFirst recurring revenue
M3Competitive Differentiator3 moM+12Enterprise + regulatedSSO + Compliance + SCORM 2004/xAPI + AI Co-Author fullEnterprise contracts
M4Full Platform GA3 moM+15General availabilityFull authoring + live collab + offline authoring + LTIGA pricing, channel
M5Post-GA Expansion3 moM+18Scale customersMulti-region + HIPAA + AI admin v2 + mobile nativeExpansion + enterprise upsell

Fastest path to first revenue: M+9 (M2 complete — marketplace + SCORM + billing live).

Month: 0 3 6 9 12 15 18
│ │ │ │ │ │ │
Stream A │ M0 Platform Foundation │
Stream A │ │ M1 FMP (Learner + AI Tutor + Offline)
Stream B │ │ M2 FSP (Marketplace + SCORM + Billing)
Stream B │ │ M3 Differentiator (Co-Author + SSO + Compliance)
Stream C │ │ M4 GA (Full Authoring + Collab + Offline Authoring)
Stream D │ │ M5 Scale (Mobile + Multi-region + AI Admin)

▲ ▲ ▲ ▲
Design First Active First Revenue GA & Scale
Partners Learners

2. Slice-to-Milestone Mapping

Each slice is independently deployable. Full story-level mapping in slice-epic-story-mapping.md.

SliceMilestoneHeadlineEpics IncludedStories (ranges)
S0 FoundationM0Tenant + event + AI gateway + sync coreEP-1 (partial), EP-2 (partial), EP-16 (core), EP-20 (core), EP-21 (GDPR primitives), EP-22 (a11y baseline)US-1, US-3, US-4, US-6, US-9, US-115, US-79–US-83, US-102, US-104–US-106, US-109–US-114
S1 Minimal LearnerM1Player + AI tutor + offline bundleEP-8, EP-9 (minimal), EP-10 (core), EP-12 (minimal), EP-14, EP-16 (full), EP-17, EP-19 (core), EP-20 (resume), EP-22US-22 (bundle), US-22a, US-40–US-46, US-49–US-51, US-56 (mini), US-69–US-73, US-79–US-83, US-84–US-91, US-95–US-99, US-100
S2 Authoring MVP + AI Co-Author MVPM2Block editor + AI co-author + publish sagaEP-3, EP-4 (HTML + SCORM 1.2 + bundle), EP-5 (core), EP-13 (MVP)US-12–US-14, US-16, US-17, US-19, US-21, US-22b (import v1), US-23–US-26, US-60, US-62, US-67
S3 Marketplace MVPM2Listings + orders + licenses + payoutsEP-6, EP-9 (issue + verify), EP-10 (webhooks + receipts)US-27–US-33, US-45–US-46, US-52
S4 Compliance + EnterpriseM3Assignments + SSO + RBAC depth + SCORM 2004/xAPIEP-1 (SAML), EP-2 (full), EP-4 (2004+xAPI), EP-7, EP-9 (templates + recert), EP-13 (full), EP-15 (v1), EP-16 (audit export)US-2, US-5, US-7, US-8, US-10, US-11, US-116, US-117, US-118, US-20, US-34, US-35–US-39, US-47–US-48, US-61, US-63–US-66, US-68, US-74–US-78, US-83
S5 Full Authoring + Offline AuthoringM4Live collab + offline drafts + full media + localizationEP-3 (collab + localize), EP-13 (images + TTS), EP-18, EP-4 (imports), EP-11 (search core), EP-22 (depth)US-15, US-18, US-64–US-66, US-92–US-94, US-53
S6 Scale + Advanced Insight + MobileM5AI admin v2 + recs + multi-region + mobile native + LTIEP-11, EP-12 (full), EP-15 (v2), EP-20 (multi-device full), EP-21 (residency + Merkle)US-54–US-55, US-57–US-59, US-74–US-78 (depth), US-101–US-103, US-107–US-108

3. Critical Path Analysis

3.1 Critical path to first revenue (M+9)

tenant-service ──► identity-service ──► enrollment-service ──► delivery-service ──► progress-service ──► first LEARNER play
│ │
▼ ▼
ai-gateway-service ──► AI Tutor ───────────────────────────────────────────────────────────► Learner demo ──► DESIGN PARTNERS (M+6)


sync-service ──► content-service (bundles) ──► Offline player ────────────────────────────► Design partner proof


authoring-service ──► catalog-service ──► content-service (SCORM 1.2 export) ──► marketplace-service ──► billing-service ──► FIRST REVENUE (M+9)

3.2 Parallelization

See team-capacity-model.md for exact owner assignments. High-level:

Can run in parallel from M0Rationale
Platform (tenant, identity, events, sync, AI gateway)Foundation
Frontend design system + PWA shellNo domain dependency
AI Gateway + prompt registryFreeze-first contract
Observability + security toolingCross-cutting
Unlocks at M0 endWaiting stream
content-service PlayPackage buildsdepends on frozen PlayPackage schema
authoring-service block editordepends on frozen block schema
marketplace-service + billingdepends on authoring publish saga

4. Slicing Strategy

Each slice is documented in detail in slice-epic-story-mapping.md. Per-slice readiness gates in slice-release-readiness.md. Per-slice risks in slice-risk-register.md. Per-slice customer packaging in customer-facing-packaging.md. Per-slice migration rules in migration-backward-compatibility.md.

Summary:

Slice 0 — Platform Foundation (M0)

Multi-tenant platform skeleton, event backbone, AI gateway, sync protocol. No customer-facing product. Customer impact: internal only (design-partner NDAs in progress).

Slice 1 — Minimal Learner (M1)

Learner UX + AI tutor + offline playback. Authoring done via operator-assisted JSON ingestion. Customer impact: 3–5 paid pilot orgs.

Slice 2 — Authoring MVP + AI Co-Author MVP (M2)

Block editor with AI co-author (text + quiz + rewrite). Publish saga replaces operator ingestion. Customer impact: self-serve authors on the platform.

Slice 3 — Marketplace MVP (M2)

Listings, pricing, orders, licenses, payments, payouts, SCORM 1.2 export. Customer impact: first dollar; provider revenue.

Slice 4 — Compliance + Enterprise (M3)

Assignments with RRULE, SAML SSO, full RBAC/ABAC/dynamic groups, SCORM 2004 + xAPI + cmi5, certificate templates, AI admin insight v1. Customer impact: enterprise contracts; regulated industries.

Slice 5 — Full Authoring + Offline Authoring (M4)

Live collaborative authoring (Yjs), offline drafts with conflict UI, localization + AI translation, full media pipeline (TTS, images, captions), LTI 1.3. Customer impact: feature parity with Rise + Storyline plus AI + offline net-positives; GA announcement.

Slice 6 — Scale + Advanced Insight + Mobile (M5)

Multi-region data residency, marketplace scale (coupons, bundles, multi-currency payouts), AI admin insight v2 (board summaries, outdated detection, at-risk prediction), mobile native polish (biometric unlock, background sync, widgets), HIPAA healthcare tier, white-label, developer marketplace. Customer impact: scale customers; expansion revenue.


5. Service Readiness (Summary)

Full per-service, per-milestone readiness in service-readiness-gates.md. Each service has eight canonical gates:

  1. Domain ready — aggregates implemented with invariants; pure TS; unit-tested.
  2. API ready — OpenAPI published + versioned; idempotency + problem-json + cursor pagination.
  3. Events ready — subjects + schemas registered; outbox + inbox; Pact contracts.
  4. Sync ready — applicable services register with sync-service; conflict policy declared.
  5. AI ready — consumers use AIClient port; provenance invariant enforced; prompts registered + eval'd.
  6. Observability ready — SLOs defined; OTel end-to-end; dashboards; runbook.
  7. Performance ready — k6 test meeting target; degradation plan documented.
  8. Security ready — tenant isolation test green; threat-model updated; pen-test findings closed; audit events emitted.
ServiceM0 gateM1 gateM2 gateM3 gateM4 gateM5 gate
identityL2 (all)L3L3L4 (SAML)L4L4
tenantL2L3L3L4 (ABAC+DG)L4L4
ai-gatewayL3L4L4L4L4L4
syncL3L4L4L4L4L4
deliveryL3L3L4L4L4
progressL3L3L4L4L4
contentL3 (bundle+HTML)L3 (+SCORM 1.2)L4 (+2004+xAPI)L4 (+imports)L4
authoringL1 (block runtime only)L3 (MVP editor)L4 (+AI flows)L4 (+collab+offline)L4
catalogL2L3L3L4L4
marketplaceL3L3L4L4
billingL3L3L3L4
enrollmentL3L3L3L3L3
assignmentL1 (manual only)L4 (RRULE+DG+escalation)L4L4
assessmentL3 (serve+score)L3L4 (+AI gen + branching)L4L4
certificationL2 (provisional+issue)L2L3 (+templates+recert)L4L4
notificationL3 (core)L3L3L4 (+webhooks)L4L4
mediaL2 (upload+variants+captions)L3 (+transcoding)L3L4 (+TTS+image+styles)L4
searchL1 (lexical only)L2L3L4 (+semantic+recs)L4
analyticsL1 (skeleton)L2 (learner mini)L3 (provider dash)L4 (+AI insight v1)L4L4 (+AI insight v2)

Level guide: L1 = skeleton-tested, not customer-facing. L2 = internally usable. L3 = customer-facing MVP meeting target SLOs. L4 = feature-complete per spec. Gate definitions in service-readiness-gates.md.


6. Architectural Freeze Points

See architectural-freeze-points.md for detail. Summary:

ContractFrozen beforeOwnerEvolution rule
EventEnvelope + schema registryM0 endPlatformOnly additive; breaking → new vN
TenantId / UserId / AIProvenance VOsM0 endPlatformNever change shape
Sync protocol (pull/push/resolve + vector clocks)M0 endPlatformAdditive only; breaking → /sync/v2/
AIClient port + Prompt registry formatM0 endAI ServicesAdditive only
PlayPackage manifest schemaM1 startContent-PackagingNew fields optional only; breaking → PlayPackage v2
Block registry schemaM2 startAuthoringNew block kinds additive; existing kind changes → block-kind v2
Navigation state machineM1 startDeliveryNew states additive; transitions stable
SCORM 1.2 export shapeM2 startContent-PackagingADL conformance is the contract
SCORM 2004 + xAPI vocab + cmi5M3 startContent-Packaging + ProgressADL conformance
RRULE semanticsM3 startAssignmentRFC 5545 is the contract
Conflict-resolution matrixM0 endSync + DDDAdding aggregates yes; changing policy rarely and documented
Error code registry (/openapi/errors.json)M1 endPlatformCodes never renamed; new codes additive
Webhook signature (HMAC + nonce + timestamp)M2 startNotificationNever changed
AI prompt semver rulesM2 startAI ServicesPrompt versions are append-only; deprecation per tenant
Certificate proof format (JWS + JSON-LD)M3 startCertificationAdditions only
LTI 1.3 keys + formatM4 startTenantLTI standard

7. Team Capacity & Load Model (Summary)

Full detail in team-capacity-model.md.

TeamM0 (26)M1 (32)M2 (40)M3 (48)M4 (55)M5 (62)
Platform (tenant/identity/events/sync/AI-gateway)655556
Learner (delivery/progress/player)264445
Authoring126575
Commerce (marketplace/billing)15445
Enterprise (assignment/certification/SSO)1644
Content-Packaging133433
Data/AI/Insight223567
Media123355
Security + SRE333456
Design + UX333333
PM + Program223444
DevEx + Docs222233
Support + Solutions012344

Critical-path teams: Platform (M0), Learner (M1), Authoring + Commerce (M2), Enterprise (M3), Authoring + Collab (M4), Data/AI + Mobile + SRE (M5).

Idle / low-load periods and how to use them:

  • Enterprise team in M0–M1 → used for SSO prototyping + SOC 2 documentation.
  • Commerce team in M0 → used for billing ACL design + processor-vendor evaluation.
  • Authoring team in M1 → builds block runtime (learner side), not editor yet.

8. Slice Risk Register (Summary)

Full register in slice-risk-register.md. Top slice-level risks:

SliceTop riskSeverityMitigation owner
S0Tenant isolation regressionS1Platform
S1Offline bundle tamper/device-binding bugsS1Content + Security
S1AI tutor hallucination at learner surfaceS1AI + Learning
S2Publish saga half-failuresS1Platform + Content
S3Payment compliance + refund edge casesS1Commerce + Legal
S4RRULE + timezone correctnessS2Enterprise
S4SAML edge cases per IdPS2Enterprise + Platform
S5Offline authoring conflict UXS1Authoring + Sync
S6Multi-region migration sagaS1Platform + SRE

9. Timeline

9.1 Gantt (ASCII)

Month: 0 3 6 9 12 15 18
│ │ │ │ │ │ │
├───────────┤───────────┤───────────┤───────────┤───────────┤───────────┤
M0: ███████████ │ Foundation
│ ├───────────┤ │
M1: │ ████████████ │ FMP
│ │ ├───────────┤ │
M2: │ │ ████████████ │ FSP (Revenue)
│ │ │ ├───────────┤ │
M3: │ │ │ ████████████ │ Differentiator
│ │ │ │ ├───────────┤ │
M4: │ │ │ │ ████████████ │ GA
│ │ │ │ │ ├───────────┤
M5: │ │ │ │ │ ████████████│ Scale

▲ ▲ ▲ ▲ ▲ ▲ ▲
Start Pilots Revenue Enterprise GA Multi- ISO/
region HIPAA

9.2 Milestone decision gates

GateBefore next milestone
M0 → M1Two-tenant isolation suite green; AI gateway + sync protocol frozen; SLOs green ≥ 2 wks; event schema registry live
M1 → M23 design partners with active learner sessions; offline play chaos-tested; AI tutor accept-rate > 50 %; pen-test #1 closed
M2 → M3First revenue realized; SCORM Cloud pass; refund + payout loops healthy; SCORM 1.2 round-trip conformance
M3 → M4First enterprise customer live; SOC 2 Type I; SAML tested across 4 IdPs; compliance engine live in production
M4 → M5GA announcement live; ≥ 3 enterprise + ≥ 5 SMB reference customers; 99.9 % uptime sustained 2 quarters; SOC 2 Type II
M5 → steady-stateISO 27001 attestation; multi-region live for ≥ 1 tenant; HIPAA BAA offered

10. Competitive Positioning (unchanged from v1)

MilestoneUnlocksBeats competitor on
M1Offline AI tutor + tamper-evident offline bundlesNo LMS has real offline AI.
M2Self-serve marketplace + AI co-author + SCORM 1.2 exportArticulate has no marketplace + no AI co-author; Docebo clunky authoring.
M3Compliance + SCORM 2004/xAPI + SAML self-serveCornerstone/SAP charge premium; we include it.
M4Full authoring parity with Rise + Storyline + AI + offlineArticulate 360 ~$1.4k/author/yr; we match + add.
M5AI admin insight + multi-region + healthcare tier360Learning has AI but no offline; Docebo scale but slow AI; we deliver both.

11. Cross-Cutting Checklists

11.1 Release readiness (every milestone)

  • All Pact contracts green.
  • Tenant isolation regression suite green.
  • WCAG 2.2 AA axe-clean + manual SR audit (player + author per release).
  • LTR + RTL visual regression green.
  • SBOM generated + signed.
  • Security pen-test closed.
  • DR drill performed.
  • AI prompt regression + safety eval + bias eval green for every new prompt version.
  • Offline E2E (airplane-mode) green.
  • Multi-device sync test green.
  • OpenAPI + event schemas published.
  • Runbooks + on-call rota.
  • Status page up-to-date.
  • Feature flags for new capabilities default OFF for existing tenants.
  • Per-slice readiness gates met (slice-release-readiness.md).
  • Customer-facing packaging ready (customer-facing-packaging.md).
  • Migration + back-compat rules respected (migration-backward-compatibility.md).

11.2 Architecture guardrails (every PR)

  • Domain layer imports no framework.
  • Every write endpoint requires Idempotency-Key.
  • Every aggregate persists tenantId.
  • Every AI artifact carries aiProvenance.
  • Every replicable aggregate declares a conflict policy.
  • No cross-service DB reads.
  • No synchronous chain > 2 hops.
  • No AI call bypasses ai-gateway-service.

12. Why This Sequence

  1. Moat first (M1). AI tutor + offline learning are features incumbents can't copy quickly.
  2. Monetize early (M2). Real-world discipline from paying customers.
  3. Enterprise checkboxes at M3. SSO + compliance + SCORM 2004/xAPI as a package.
  4. Authoring parity at M4. Ship feature match with Articulate with AI + offline as net-positives.
  5. Scale + regulated tiers at M5. Multi-region + HIPAA + white-label capture expansion revenue.
  6. Architecture remains intact because every foundational concern lands in M0 and is never revisited structurally.

If this document ever conflicts with the end-state specification (01–14), the specification wins — this roadmap only sequences its delivery.