The Problem
Last week I started a new Next.js project. Needed the usual stack:
- drizzle for database
- better-auth for authentication
- shadcn for UI
- TanStack Query for data fetching
Here's what happened:
- Install drizzle, create schema, configure client
- Install better-auth, create user/session/account tables
- Wire better-auth to drizzle schema
- Install shadcn, set up components.json
- Configure theme provider
- Set up TanStack Query with proper providers
- Debug TypeScript paths for 20 minutes
- Realize I forgot to add auth tables to schema
- 90 minutes later: finally working
I've done this exact integration 6 times in 4 months. Same stack. Same debugging. Same wasted time.
The Solution I Built
create-faster generates projects with your chosen stack already integrated:
bunx create-faster
Interactive Mode
Pick your stack:
- Framework: Next.js, Expo, Hono, TanStack Start
- Database: Postgres, MySQL
- ORM: Drizzle, Prisma (with auto-generated auth tables)
- UI: shadcn, nativewind, theme support, and more
- Features: Better Auth, TanStack Query/Form, MDX, PWA, etc.
- Package manager: bun, pnpm, npm
Non-Interactive Mode
Same setup every time:
bunx create-faster myapp \
--app myapp:nextjs:shadcn,better-auth,tanstack-query \
--database postgres \
--orm drizzle \
--git --pm bun
Multi-App Monorepos
Web + mobile sharing database:
bunx create-faster mysaas \
--app web:nextjs:shadcn,better-auth \
--app mobile:expo:nativewind \
--database postgres \
--orm drizzle \
--git --pm bun
Auto-creates turborepo. Both apps use the shared db package. Auth tables already in drizzle schema.
What It Actually Generates
Not just files - working integrations.
drizzle + better-auth:
- User, session, account tables in drizzle schema
- Database client configured
- Auth config pointing to drizzle
- Type-safe queries ready to use
shadcn + next-themes:
- shadcn installed with components.json configured
- Theme provider in app layout
- Dark mode toggle component ready
- Tailwind configured
TanStack Query + Next.js:
- Query client configured
- Provider in app layout
- Devtools ready if selected
- Example query hooks
For monorepos:
- Turborepo with proper pipeline
- Shared
dbpackage used by all apps - TypeScript paths configured
- Single install command
The Reproducibility Feature
After generation, get the exact command to recreate it:
create-faster mysaas \
--app web:nextjs:shadcn,better-auth \
--app mobile:expo:nativewind \
--database postgres \
--orm drizzle \
--git --pm bun
Save it. Run it later. Same integrated stack every time.
Why I Built This
I kept rebuilding the same integrations:
- drizzle schema with better-auth tables
- shadcn with theme provider
- TanStack Query wired into Next.js
- Turborepo for web + mobile
Each time: 90 minutes of the same work. Each time: slightly different setup leading to bugs later.
Now: one command. Consistent, working stack every time.
What's Next
Currently supports:
- Frameworks: Next.js, Expo, Hono, TanStack Start
- Database: Postgres, MySQL with drizzle or prisma
- Popular modules: shadcn, better-auth, TanStack Query/Form, and more
- Monorepo: Auto turborepo for multi-app projects
Roadmap:
- More frameworks (Remix, Astro)
- More integrations (tRPC, i18n, Stripe)
- Templates examples (dashboards, dApp, SaaS)
- Saved presets
Try It
bunx create-faster
- GitHub: https://github.com/plvo/create-faster
- Docs: https://create.plvo.dev/docs
- npm: https://www.npmjs.com/package/create-faster
MIT licensed. PRs welcome.
Discussion
What stack integrations are you tired of rebuilding? What would make this more useful?
Top comments (0)