Skip to Content
TechnicalArchitectureTechnology Stack

Technology Stack

The technologies and tools behind the Sustentus platform. This mirrors the canonical stack table in the repo’s CLAUDE.md.

Core

LayerTechnology
MonorepoTurborepo 2 · pnpm 10 workspaces · Node 24
FrameworksNext.js 16 (web, dashboards) · Next.js 15 (marketing) · Nextra (docs, help)
LanguageTypeScript 5 — strict mode everywhere
StylingTailwind CSS 4
UI primitivesshadcn/ui (New York) · Radix UI · lucide-react
AIVercel AI SDK v6 — Anthropic Claude via the AI Gateway
DatabaseMongoDB + Mongoose (via @sustentus/services/server)
AuthClerk
EmailResend + React Email
Real-timeAbly (notifications)
StorageVercel Blob
AnalyticsPostHog · Vercel Analytics · Speed Insights
ChartsRecharts
AnimationFramer Motion
Build (packages)TSUP (esbuild)
Error trackingSentry (apps/web only)
DeploymentVercel — production deploy on merge to main

Notes on key choices

Frameworks

web and dashboards run Next.js 16 (App Router, Turbopack). marketing runs Next.js 15. docs and help are Nextra sites. There is no separate backend app — apps/web hosts route handlers and Server Actions.

AI

Runtime AI uses the Vercel AI SDK v6 with model strings routed through the AI Gateway. The current models are listed once in the services package. The AI connector lives in @sustentus/services/ai, the agents in the app that owns them (the assistant, the customer’s requirements conversation included, in apps/agent/lib/ai/), and expert-fit scoring in @sustentus/services.

Data & real-time

MongoDB + Mongoose is the database, accessed only through @sustentus/services/server. Ably powers real-time notification delivery (see @sustentus/services/notifications).

Build & quality

TSUP bundles the two packages to ESM with type declarations. ESLint (root config) enforces the code conventions; Prettier formats via a Husky + lint-staged pre-commit hook. CI on each PR runs format + lint.

Learn more

Last updated on