Web App Architecture
A high-level map of the Next.js application and frontend domain boundaries.
The web app lives in apps/web.
Main Layers
app/: App Router pages and route compositioncomponents/: UI building blocks and feature blockslib/: shared domain moduleshooks/: shared cross-domain hooksproviders/: Convex, Clerk, and other top-level providers
Architectural Style
- feature-heavy UI is built from domain-oriented modules
- thread and task behavior is split into cohesive subdomains
- top-level orchestration should delegate to subsystems instead of accumulating special cases
Contributor Guidance
- keep hooks close to their owning domain
- prefer shared abstractions only when multiple domains actually need them
- preserve the difference between UI-layer concerns and Convex/backend concerns