Tech Stack

Dependencies from package.json.

Runtime

Dependency Version Role
next 16.2.4 App Router, route handlers, middleware
react / react-dom 19.2.4 UI
drizzle-orm 0.45.2 SQL ORM
@neondatabase/serverless 1.0.2 Neon Postgres HTTP driver
next-auth 4.24.14 Session auth (JWT, credentials provider)
bcryptjs 3.0.3 Password hashing
nanoid 3.3.11 ID + API-key randomness
zod 4.3.6 Request body validation
@aws-sdk/client-sesv2 3.1031.0 Email send + domain identity
@aws-sdk/client-sns 3.1031.0 SMS send
stripe 22.0.2 Billing
@upstash/ratelimit 2.0.8 Sliding-window rate limiter
@upstash/redis 1.37.0 Redis REST client

Dev / Build

Dependency Purpose
typescript 5 Types
drizzle-kit 0.31.10 Migrations, studio, schema push
eslint 9 / eslint-config-next Linting
tailwindcss 4 / @tailwindcss/postcss Styling
vitest ^2.1 Unit tests (co-located *.test.ts)
@types/* Type defs

Not in this stack

  • No shadcn/ui components — pure Tailwind + small src/components/ui/* primitives (toast, skeleton, confirm, error boundary).
  • No Vercel Workflow / Queues — webhook fan-out uses the webhook_deliveries table + cron for durability.
  • No structured logger — plain console.*. See operations/observability.md.