Beta
Architecture Paradigm Assessment
Snapshot of how our current system scores on DDD, event-driven, modularity, etc. Keep this handy when prioritizing technical work during Phase 0/1.
References: Methodology summary · Claude plan. Action items feed into Namespaces/OOP/Microservices pages.
Bounded contexts + value objects (facets) already in play; need explicit domain events/repositories.
Recommendations
- Add lightweight domain events (SectionCreated, SessionCompleted).
- Introduce repositories/use-case modules instead of direct store imports.
Event-Driven Architecture
4/10Events exist as nouns (calendar events) but not verbs (SessionStarted). No bus/handlers yet.
Recommendations
- Create EventBus abstraction for SessionStarted/AssignmentSubmitted.
- Add simple handlers (notifications, analytics) before tackling sourcing.
Namespace / Module Organization
6/10Feature matrix + providers now live in /lib/config, but most code is still flat; needs clear domain/application/infrastructure layers.
Recommendations
- Introduce /domain (entities, policies), /application (commands/queries), /infrastructure (adapters).
- Document config modules (featureMatrix, initPhase0) and limit presentation imports to application layer.
Object-Oriented Modeling
7/10Interfaces + composition are solid, but behavior lives outside models (anemic).
Recommendations
- Wrap facets as mixins providing helper methods (Temporal.isActive).
- Introduce SectionAggregate/EnrollmentService to encapsulate rules.
Modular monolith is correct for current scale; no need to split services.
Recommendations
- Stay monolithic; only consider split if a domain explodes in scale or team count.
Overkill for MVP. Consider simple event log for audit later.
Recommendations
- Add append-only audit log if compliance requires, but skip full sourcing.
Serverless Architecture
10/10Already on Convex + Supabase + Vercel; perfect fit.
Recommendations
- Leverage serverless cron/edge functions for AI + background tasks.
Convex queries/mutations widely used; room to add background jobs + edge functions.
Recommendations
- Add edge functions for heavy AI (pdf extraction).
- Schedule weekly digests via Convex cron.
Reads/writes currently share the same shape; timeline queries could benefit from dedicated projections.
Recommendations
- Spin up read models for timeline/signal feeds backed by Supabase views.
- Keep Convex mutations authoritative until dual-write stabilizes.
Modular Monolith Discipline
6/10Conceptually agreed upon, but folders/imports still tangled.
Recommendations
- Enforce lint rule: presentation cannot import infrastructure directly.
- Add README per namespace describing boundaries + owners.