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_deliveriestable + cron for durability. - No structured logger — plain
console.*. See operations/observability.md.