Technology Stack
The technologies and tools behind the Sustentus platform. This mirrors the canonical stack table in
the repo’s CLAUDE.md.
Core
| Layer | Technology |
|---|---|
| Monorepo | Turborepo 2 · pnpm 10 workspaces · Node 24 |
| Frameworks | Next.js 16 (web, dashboards) · Next.js 15 (marketing) · Nextra (docs, help) |
| Language | TypeScript 5 — strict mode everywhere |
| Styling | Tailwind CSS 4 |
| UI primitives | shadcn/ui (New York) · Radix UI · lucide-react |
| AI | Vercel AI SDK v6 — Anthropic Claude via the AI Gateway |
| Database | MongoDB + Mongoose (via @sustentus/services/server) |
| Auth | Clerk |
| Resend + React Email | |
| Real-time | Ably (notifications) |
| Storage | Vercel Blob |
| Analytics | PostHog · Vercel Analytics · Speed Insights |
| Charts | Recharts |
| Animation | Framer Motion |
| Build (packages) | TSUP (esbuild) |
| Error tracking | Sentry (apps/web only) |
| Deployment | Vercel — 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.