Integrations
Everything arrives already wired. Each card shows what the service does here, the environment variables that switch it on, and where it lives in the codebase.
Payments
Stripe
Docs →Subscription plans, one-time credit packs, Customer Portal, and webhook handling - checkout to paid in one afternoon.
Wired in: apps/web/src/app/api/billing, apps/web/src/app/api/webhooks/stripe
Auth
better-auth
Docs →Email/password with verification, password reset, sessions, and OAuth (Google, GitHub) - self-hosted, no per-user fees.
Wired in: apps/web/src/lib/auth.ts
Data
Postgres + Prisma
Docs →Typed data layer over Postgres with committed migrations and a seed script. Works with Neon, Supabase, Railway, or any Postgres.
Wired in: packages/db
Resend
Docs →Transactional email - welcome, verification, password reset, and team invitations - from pure-TypeScript templates.
Wired in: packages/email, apps/web/src/lib/email.ts
AI
Anthropic Claude
Docs →The AI assistant module proxies Claude with per-tenant credit metering, interaction history, and cost tracking.
Wired in: apps/web/src/app/api/ai, apps/web/src/app/(dashboard)/dashboard/ai
Infrastructure
Upstash Redis
Docs →Serverless Redis backing the rate limiter on auth and API routes. Falls back to in-memory limits in development.
Wired in: apps/web/src/lib/rate-limit.ts
Vercel + GitHub Actions
Docs →Vercel Git integration builds and deploys every push, migrating the database first on production. GitHub Actions gates PRs and smoke-tests each live deployment. No deploy secrets.
Wired in: apps/web/vercel.json, .github/workflows/ci.yml, .github/workflows/e2e.yml
Analytics
PostHog
Docs →Product analytics and event capture, wrapped in a tiny client so you can swap providers without touching components.
Wired in: packages/analytics
Swap any of these for your preferred provider - each one sits behind a small wrapper (see packages/analytics, packages/email, apps/web/src/lib) so the rest of the codebase never knows.