DEV Community

Cover image for Skip Repetitive Stack Setup (Database, Auth, UI) and Start Coding Immediately
pelavo
pelavo

Posted on

Skip Repetitive Stack Setup (Database, Auth, UI) and Start Coding Immediately

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:

  1. Install drizzle, create schema, configure client
  2. Install better-auth, create user/session/account tables
  3. Wire better-auth to drizzle schema
  4. Install shadcn, set up components.json
  5. Configure theme provider
  6. Set up TanStack Query with proper providers
  7. Debug TypeScript paths for 20 minutes
  8. Realize I forgot to add auth tables to schema
  9. 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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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 db package 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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

MIT licensed. PRs welcome.

Discussion

What stack integrations are you tired of rebuilding? What would make this more useful?

Top comments (0)