Skip to Content
TechnicalApplicationsApplications

Applications

The Sustentus monorepo contains seven active applications. The platform itself is apps/web; the others are the agentic app, the tenant management console, the marketing site, role-based dashboards, and two Nextra doc sites. An eighth, Storybook, was archived on 2026-09-23 and stays in the tree as reference code only.

Overview

ApplicationPurposeStackPort
WebMain platform — all six persona portals + API/AINext.js 163000
AgentThe agentic layer, beside the platformNext.js 163007
ConsoleTenant management for Sustentus staff + partnersNext.js 163006
DashboardsRole-based analytics dashboardsNext.js 163005
MarketingPublic marketing siteNext.js 153001
DocumentationThis documentation siteNextra—
HelpHelp & support centreNextra—

Application details

Web (apps/web)

The main platform — Next.js 16 with the App Router and Turbopack. Hosts the portals for all six personas (admin, CSM, SDM, expert, vendor, customer), the server surface (route handlers + Server Actions), and the onboarding concierge (via @sustentus/services/ai); the customer’s requirements conversation lives in the agent app, which the platform hands off to. Imports UI from @sustentus/ui and data/logic from @sustentus/services/server. See [apps/web/AGENTS.md] in the repo for app-specific rules.

Agent (apps/agent)

Next.js 16 agentic app (port 3007) — the home of the agentic layer, deployed as the agentic-interface Vercel project. It sits beside the platform rather than inside it: proxy.ts gates every route deny-by-default at the edge, and it runs against the same Clerk instance as the platform, so on a shared root domain a signed-in platform user is already signed in here. It serves two populations — tenant users, and org-less Sustentus staff and invited partners carrying the console-access marker — and binds each to one tenant at a time, chosen by the platform rather than by the model. What the assistant can do depends on who is asking: a signed-in user’s platform role resolves to a register with its own runtime-editable prompt contract and its own tool sets. Imports UI from @sustentus/ui; @sustentus/services through /ai and /shared anywhere and /server in server-only files. Learn more →

Console (apps/console)

Next.js 16 tenant management console (port 3006) — the Sustentus-side operational surface, deployed as the tenant-management Vercel project. Its users are org-less Clerk users carrying a publicMetadata console-access marker, not platform roles: Sustentus staff see every tenant, partners see only the tenants assigned to them. Imports UI from @sustentus/ui and data from @sustentus/services/server. Learn more →

Dashboards (apps/dashboards)

Next.js 16 role-based dashboards (port 3005). Self-contained — it does not import @sustentus/ui; UI primitives live locally in components/ui/, and all text uses the local Typography component. Charts use Recharts.

Marketing (apps/marketing)

Next.js 15 public site (port 3001) — landing, pricing, and waitlist signup with Clerk auth. Imports UI from @sustentus/ui. Learn more →

Documentation (apps/docs)

This Nextra site — MDX content under app/business/ (direction, strategy, roles, journey) and app/technical/ (architecture, applications, packages, development). Built-in Pagefind search. Learn more →

Help (apps/help)

Nextra help & support centre for end users.

Storybook (apps/storybook) — archived

Archived 2026-09-23. Excluded from the pnpm workspace, so it is not installed, linted, typechecked, tested, built or deployed; the code is kept for reference only. Learn more →

Running applications

pnpm dev # all apps pnpm web:dev # main platform (3000) pnpm agent:dev # agentic app (3007) pnpm --filter @sustentus/console dev # console (3006) pnpm dashboards:dev # dashboards (3005) pnpm marketing:dev # marketing (3001)

Building

pnpm build # all apps and packages

Turborepo builds the shared packages (@sustentus/ui, @sustentus/services) before the apps that depend on them.

Last updated on