| After rebuilding my setup way too many times, I've finally landed on a stack that I don't want to change. Took 6 years to get here, so figured I'd share what works for me. Here's where it's landed: Framework: Next.js 16 (App Router) React 19. Server Components, App Router for routing. Auth: Clerk Magic links, passkeys, MFA, social logins (Google, GitHub, Apple, etc.), user impersonation. It works perfectly with Next.js. Database: DrizzleORM Type-safe ORM. Works with PostgreSQL, SQLite, MySQL - but personally I prefer PostgreSQL. Drizzle Studio for exploring data, Drizzle Kit for migrations. Local dev: PGlite This one's underrated. Full Postgres running locally, no Docker needed. Styling: Tailwind CSS Utility-first, fast iteration. Forms: React Hook Form + Zod Zod schemas validate on client AND server. Type-safe end-to-end. Testing: Vitest + Playwright Vitest in browser mode replaced React Testing Library for me. Playwright handles integration, E2E and visual regression. GitHub Actions runs everything on PRs automatically. Logging: LogTape Universal and unified logging for Browser, server and edge. Monitoring: Sentry + PostHog Sentry for errors (with Spotlight for local dev - game changer). PostHog for analytics and session replays. i18n: next-intl Built-in internationalization from day one. i18n-check catches missing translations before they hit prod. DX tooling: ESLint
Lefthook for git hooks
Commitlint + Conventional commits for consistent commits
Knip for catching dead code
Semantic Release for changelogs
Dependabot for dependencies update
Security: Arcjet Rate limiting and bot protection without thinking about it. I put this all together into a setup I reuse - nothing hidden, everything customizable. If anyone's curious, the whole thing is documented here: https://github.com/ixartz/Next-js-Boilerplate What does your stack look like? Curious if anyone's using different setups. |
[0] https://www.uxwizz.com