JW
back to blog

The one way I start any project today

March 4, 20265 mins read

Every new project starts the same way. You open a terminal, scaffold something, and then spend the next hour or two wiring up a database, configuring auth, connecting tRPC, setting up Tailwind, and making sure TypeScript is happy across the entire stack. By the time the plumbing is done, the creative energy that made you want to build the thing in the first place has already faded.

I got tired of that loop. So I changed how I start projects entirely. Now I use one tool: Better-T Stack.

What is Better-T Stack?

Better-T Stack is an open-source CLI tool created by Aman Varshney that scaffolds end-to-end type-safe TypeScript projects in minutes. You run a single command, answer a few prompts, and walk away with a fully configured monorepo, ready to build on.

bun create better-t-stack@latest

That's it. One command kicks off an interactive wizard that asks you what you actually need, then generates the entire project scaffold with everything wired together.

Why it works for me

It is opinionated where it matters

The tool makes strong default choices around type safety (TypeScript everywhere, tRPC for API communication, Drizzle for database access) while still letting you swap out the parts you care about. You are not locked into a single frontend framework or database. You pick from options that are known to work well together.

The interactive CLI removes decision fatigue

When you run the command, the CLI walks you through choices step by step:

  • Frontend framework: React (with TanStack Router or Next.js), SolidJS, Svelte, or Nuxt
  • Backend: Hono or Elysia
  • Database: SQLite (via libSQL/Turso) or PostgreSQL (via Neon)
  • Auth: Better Auth, built in and preconfigured
  • Styling: Tailwind CSS with shadcn/ui components
  • Extras: PWA support, desktop (Tauri), mobile (Expo)

You can also skip the prompts entirely and use the visual Stack Builder on the website to generate the exact CLI command you need.

Everything is wired together from the start

This is the part that saves the most time. After scaffolding, you don't have to:

  • Manually connect your frontend to your backend
  • Configure tRPC routers and clients
  • Set up database schemas and migrations
  • Wire up authentication flows
  • Configure Turborepo for the monorepo

All of that is done. The project comes with a working auth flow, database connection, and type-safe API layer. You write your first feature, not your first config file.

Monorepo by default

Better-T Stack generates a Turborepo-powered monorepo with clear separation between packages:

  • apps/web for the frontend
  • apps/server for the backend API
  • Shared packages for types, config, and utilities

This structure scales well. You start with a clean architecture instead of having to refactor later when things get messy.

What a typical project looks like

Here is what you get after running the CLI with common options:

  • TanStack Router on the frontend with file-based routing
  • Hono as the backend framework, lightweight and fast
  • tRPC connecting frontend and backend with full type inference
  • Drizzle ORM for database access with type-safe queries
  • Better Auth handling sign-up, login, sessions
  • Tailwind CSS + shadcn/ui for styling and components
  • Bun as the runtime, keeping everything fast
  • Turborepo managing the monorepo

The whole thing runs with bun dev and hot-reloads across the stack.

How it compares to other starters

If you have used create-t3-app before, Better-T Stack feels like its spiritual successor, but more flexible. T3 was tightly coupled to Next.js. Better-T Stack decouples the frontend choice from the rest of the stack, so you can use it with React, Solid, Svelte, or Vue-based setups.

It also goes further than most starters by including auth, database setup, and monorepo configuration out of the box. Most scaffolding tools give you a folder structure and leave the integration work to you.

The numbers

The project has gained significant traction in a short time:

  • Over 5,000 GitHub stars
  • More than 40,000 projects scaffolded
  • Around 300 projects created per day on average
  • 470+ published versions on npm, meaning it is actively maintained and improving

That kind of adoption signals that the developer community was hungry for exactly this kind of tool.

When I would not use it

Better-T Stack is optimized for TypeScript-first web applications. If you are building something outside that scope, like a Python ML pipeline, a Go microservice, or a static site with no backend, this is not the right tool. It is also not ideal if you need to integrate with an existing backend that does not use tRPC.

But for the kind of project I start most often, a full-stack web app with auth, a database, and a modern frontend, it removes almost all of the setup friction.

The real takeaway

The best project starter is the one that gets out of your way. Better-T Stack does exactly that. It makes strong, modern choices, wires everything together, and lets you focus on the thing you actually want to build.

If you are still spending your first hour on boilerplate every time you start something new, give it a try. You will not go back.

References

  1. Better-T Stack Official Website
  2. GitHub Repository: create-better-t-stack
  3. npm Package: create-better-t-stack
  4. Better-T Stack: The Minimalist Stack Builder for Lightning-Fast Web Development (Medium)
  5. From Zero to Production-Ready Application with the Better-T Stack CLI (Medium)
  6. Better-T Stack on Best of JS