SolidProfessor 2026 Engineering Roadmap

Completing platform modernization: Vue 3 micro-frontends, Laravel modular monolith, and the sp CLI tool.

Draft · Feb 15, 2026 4 quarters · 3 tracks · 10 backend modules · 5 micro-frontends
Monolith Pages
118
100% assigned to micro-frontends
Micro-Frontends
0 / 5
Library targeting production in Q1
Backend Modules
5 / 10
Core, Platform, SolidCareer, VAR, SpLive done
sp CLI
v0.1
Development starting
View:
Frontend
Backend
Tooling
Q1 · Jan — Mar
Foundation
Prove the Architecture
Frontend
Library to production In Progress
Vue 3, CloudFront path-based routing at /tutorials/*. Targeting production launch in Q1. Validates shared packages, cross-app redirects, and strangler pattern.
Shared packages v1.x stable In Progress
@solidprofessorhub/auth (JWT, token refresh), ui-components (GlobalHeader, GlobalFooter, SearchBar, UserMenu), authz (permission gates). All production-validated.
Q2 app scaffolding In Progress
Live Training (feature complete), Access (core auth flows — 21 pages), PLT (dashboard + profile — 12 pages). Routing, auth integration, and core pages underway.
Backend
Phase 1: Core + Platform modules Done
Laravel Modules installed. User, Account, AccountUser models migrated. Shared contracts/traits extracted. Service providers established. CI/CD updated for module-specific tests.
Phase 2: SolidCareer, VAR, SpLive Done
Well-isolated modules migrated. Splt renamed to SpLive. Event-driven communication patterns established. Module isolation validated.
Tooling
sp CLI v0.1 → v0.3 Building
v0.1 (Jan): sp up/down/status, Caddyfile generation. v0.2 (Feb): sp setup, sp backend *. v0.3 (Mar): sp link, sp logs, internal beta.
Q2 · Apr — Jun
Scale
Three Apps to Production
Frontend
Live Training → production April
Already Vue 3. Absorb 2 monolith pages. CloudFront routing for /live-training/*, /training/*. GoToMeeting, Nutanix Frame, QuickSight integrations. 30-day stability window starts.
Access → production May
21 pages: login, SAML SSO, registration (commercial + academic), onboarding, password recovery, policy consent. Stripe integration for payment flows. Must launch before PLT.
PLT → production June
12 pages: dashboard, profile, my-learning, achievements, certificates, feedback. Read-only consumer of Library, Skills Validation, and Live Training APIs.
Library monolith code removed April
30-day stability window complete. Remove library pages and stores from platform-frontend. Tag removal commit for audit trail.
Backend
Phase 3: ContentLibrary, Assessment Weeks 5-6
Extract content management. Establish content visibility API. Consolidate assessment logic from Academic/Commercial. Test Algolia search integration.
Phase 4: LearnerExperience, UserAccess Weeks 7-8
Extract learner progress tracking. Create progress tracking API. Consolidate authentication logic. Establish multi-module permission patterns.
Tooling
sp CLI v1.0 stable April
v1.0 (Apr): All commands production-ready, team-wide adoption, spdev deprecated. v1.1 (May): sp up --all. v1.2 (Jun): sp config init.
Q3 · Jul — Sep
Build
The Big One — Organized
Frontend
Organized development Jul — Sep
53 pages (45% of monolith). Classes/groups (26 pages, Jul-Aug), admin/instructor tools (10, Aug), reporting (5, Aug-Sep), LTI integration (12, Sep). Component adaptation strategy reduces work ~75%.
Monolith code removal Jul — Aug
Remove Live Training code (Jul), Access code (Jul), PLT code (Aug) from platform-frontend after 30-day windows. Audit remaining routes (Sep).
Backend
Phase 5: ManagerExperience Weeks 9-10
Final module migration. Establish all module contracts. Comprehensive cross-module testing.
Stabilization Aug — Sep
Module coupling <20%. Test coverage >80% per module. CI/CD optimized for parallel module testing. Feature toggles for gradual activation.
Tooling
sp CLI multi-app support Q3
Organized needs 4+ concurrent Vite dev servers: sp up organized access plt --backend. Verify Caddyfile generation for 10 organized path groups.
Q4 · Oct — Dec
Complete
Ship Organized, Retire the Monolith
Frontend
Organized → production October
All 10 path groups routed via CloudFront. /groups/*, /classes/*, /admin-tools/*, /instructor-tools/*, /reporting/*, /lti-launch/*, /lms-integration/*, /anon-lms, /lms-connect.
Monolith archived December
platform-frontend repo set to read-only. Zero production traffic. CloudFront default origin switched. Build pipelines disabled. End of an era.
Cross-app E2E suite live November
Playwright suite: Login → Dashboard, Dashboard → Course → Test, Login → Class → Assignment, Signup → Onboarding → Dashboard, Dashboard → Profile → Edit. Running nightly.
Backend
All 10 modules in production October
Core, Platform, SolidCareer, VarExperience, SpLive, ContentLibrary, AssessmentExperience, LearnerExperience, UserAccess, ManagerExperience.
Legacy cleanup December
Remove backward-compatibility shims, feature toggles from migration, parallel implementation artifacts. Module documentation complete with contracts, interfaces, event catalog.
Tooling
spdev archived November
onboarding repo archived. sp is the sole CLI. sp.yaml as single source of truth for port registry, app registry, Caddyfile routing, setup prerequisites.
JanFebMar AprMayJun JulAugSep OctNovDec
Frontend
Library
Library
Live Training
Prep
Launch
30d
Access
Build
Build
Launch
30d
PLT
Build
Build
Launch
30d
Organized
Build (53 pages)
Launch
30d
Monolith retire
Remove Access, PLT
Org removed
Archived
Backend Modular Monolith
Phase 1: Foundation
Core + Platform
Phase 2: Independent
SC, VAR, SpLive
Phase 3: Content
Content + Assessment
Phase 4: User Exp
Learner + UserAccess
Phase 5: Management
Manager
Stabilization
Harden + test
Tooling (sp CLI)
sp CLI
v0.1
v0.2
v0.3
v1.0
v1.1
v1.2
spdev sunset
Deprecated
Archived

Launch Sequence

Q2 apps must launch in this order due to auth dependencies.

Live Training April (independent)
Access May (auth flows)
PLT June (depends on Access)

Cross-App Data Flow

Each micro-frontend's data dependencies on other streams.

PLT ← reads Library
PLT ← reads Skills Val.
Organized ← reads Library
Organized → redirects Skills Val.

Backend ↔ Frontend Alignment

Backend modules must be extracted before their micro-frontend launches.

SpLive Live Training
UserAccess Access
LearnerExp PLT
ManagerExp Organized

Tooling Milestones

sp CLI must be ready before team-wide multi-app development.

sp v0.3 Internal beta (Q1)
sp v1.0 Team adoption (Q2)
sp multi-app Organized dev (Q3)

Strangler Pattern Gates

30-day stability windows before monolith code can be removed.

Library → 30d → Remove (Apr)
Live Training → 30d → Remove (May)
Access → 30d → Remove (Jul)
PLT → 30d → Remove (Aug)
Organized → 30d → Remove (Nov)

Shared Packages

Every micro-frontend consumes these packages. Breaking changes affect all apps.

auth v1.x All 5 micro-frontends
ui-components v1.x All 5 micro-frontends
authz v1.x All 5 micro-frontends
CloudFront routing misconfiguration
Wrong app serves a route in production
High likelihood
Path matcher verification table in migration-playbook. Automated path validation in CI. Route-level rollback procedure documented.
Organized is larger than estimated
Q4 launch slips
Medium
53 pages sounds large, but company_groups = school_classes structurally. Component adaptation reduces work ~75%. Start early in Q3.
Backend modular migration regressions
Production incidents during module extraction
Medium
Feature toggles for gradual activation. Parallel implementation (old + new side-by-side). Contract testing for module boundaries.
Cross-app navigation breaks
Users hit dead ends or redirect loops
Medium
Cross-app E2E test suite (Playwright) running against staging after every deploy. crossAppRedirect() pattern proven in Library.
30-day stability window reveals issues
Launch timeline slips by 30+ days
Medium
The window is a safety net, not an obstacle. Fix issues fast. Rollback to monolith is always available.
Shared package breaking change
Multiple apps broken simultaneously
Low
Strict semver + deprecation protocol. Independent versioning. Apps upgrade on their own timeline.
sp CLI adoption resistance
Engineers stick with manual workflows
Low
sp makes life easier. Internal beta Q1, team-wide Q2. Keep spdev available as fallback until Q4.

Exit Criteria