React + Express Starter
The monorepo starter I copy for new apps — React 19, Express, Drizzle, Better Auth, and the folder structure I actually reach for.
ReactTypeScriptExpressPostgresDrizzleBetter AuthZodViteTailwindpnpm

Tech Stack
Frontend: React 19, TypeScript, Vite, Tailwind CSS v4, Shadcn UI, React Router v7, Better Auth client
Backend: Express, TypeScript, Drizzle ORM, Neon Postgres, Better Auth, Zod, drizzle-zod
Monorepo: pnpm workspaces with @starter/web, @starter/api, and @starter/shared
Testing: Vitest across both apps — jsdom environment on the frontend, Node environment on the backend
Key Decisions
- I prefer a monorepo architecture and manage dependencies with pnpm workspaces.
- I've been loving Drizzle ORM for type safety and the ability to define schemas in code and split them by feature.
- The API is single express app with controllers, services, routes, schemas and tests colocated by feature
- I use Better Auth for authentication and session management.
Want to use this starter or have a suggestion?
- Fork the repository on GitHub
- Make your changes
- Submit a pull request
- I'll review it and merge it if it's a good fit
