Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Opinionated React starter from BearStudio with TanStack Start, Tailwind, shadcn/ui, Prisma, Better Auth, and Playwright pre-configured.

A full-stack Next.js TypeScript template focused on functionality over UI, featuring Zustand, TanStack Query, and ESLint 9 support.
Start UI [web] is an opinionated frontend starter repository from the BearStudio Team that scaffolds a new React web application with authentication, database, email tooling, and testing pre-configured through a single command.
Start UI [web] is a TypeScript-based React starter template built on TanStack Start, Tailwind CSS, and shadcn/ui. Running pnpm create start-ui -t web myApp creates a new project folder containing the latest version of the starter, with Prisma for data modeling, Better Auth for authentication, and oRPC for type-safe APIs. The repository is maintained by the BearStudio Team and other contributors, and it runs on Node.js version 22 or newer with pnpm as the package manager.
http://localhost:3000/api/dev/email/{template} with optional language and props query parameters, and maildev catches outgoing emails in development on port 1080.http://localhost:3000/api/openapi/app where every backend endpoint can be viewed and tested directly.pnpm gen:icons turns SVG files placed in src/components/icons/svg-sources into React icon components; SVGs must be square, filled with #000, and prefixed with icon-.pnpm e2e:setup prepares an authenticated context for efficient test runs, pnpm e2e executes headless tests in CI, and pnpm e2e:ui opens an interactive runner.VITE_ENV_NAME, VITE_ENV_EMOJI, and VITE_ENV_COLOR displays a hint on non-production environments.pnpm dk:init starts PostgreSQL, MinIO, and Maildev containers, while pnpm db:init pushes the Prisma schema and seeds the database.pnpm e2e headless after pnpm db:init to verify the whole application in continuous integration.pnpm create start-ui -t web myApp to scaffold the project..env.example to .env and set environment variables.pnpm install, pnpm dk:init to start Docker containers, and pnpm db:init to push the schema and seed data.pnpm dev.Alternatively, if Docker is not used, point DATABASE_URL at any PostgreSQL database and run pnpm db:push and pnpm db:seed.
.husky folder?Run git config --unset core.hooksPath, then rm -rf ./.husky, then pnpm install. This removes the husky hooks and lets lefthook take over correctly.
No. You can use any PostgreSQL database by replacing the DATABASE_URL environment variable in your .env file, then run pnpm db:push to update the schema and pnpm db:seed to seed data.
Start the dev server and visit http://localhost:3000/api/dev/email/{template}, where {template} is the template file name in src/emails/templates. Add ?language=fr for translations and append search params to pass props.
The API documentation is available at http://localhost:3000/api/openapi/app when the dev server is running. It lists all backend routes with request and response formats and lets you test endpoints directly.
Custom icons must be placed in src/components/icons/svg-sources, be prefixed with icon-, have a square size, and be filled with #000 so the generator can replace the color with currentColor.
![screenshot of Start UI [web] on template0.com](https://cdn.sanity.io/images/asuw607r/production/d2e1259fc3e0adcbfe87e295c635749bb6464a84-1920x1080.png?q=40)