Production-Ready
Full-Stack Boilerplate
Enterprise-grade TypeScript boilerplate with TanStack Start, Better Auth, tRPC, Drizzle ORM, and everything you need to build scalable modern applications.
Built with Modern Technologies
Carefully selected cutting-edge tools and frameworks for maximum developer experience and performance.
TanStack Start
Full-stack React framework with SSR
Better Auth
Modern authentication library
tRPC
End-to-end typesafe APIs
Drizzle ORM
TypeScript ORM
PostgreSQL
Advanced relational database
Redis
In-memory data structure store
Hono
Fast, lightweight web framework
BullMQ
Redis-based job queue
TailwindCSS
Utility-first CSS framework
Turborepo
High-performance monorepo
TypeScript
Typed JavaScript at scale
Everything You Need to Build
Pre-built modules and features to accelerate your development process.
Scalable Architecture
Monorepo structure with clean separation of concerns and microservice-ready packages.
See It In Action
Type-safe from database to UI with automatic code generation and validation.
import { router, authProcedure } from '@repo/trpc';
import {
getFilesByUserIdPaginated,
deleteFile,
ListFilesPaginatedSchema
} from '@repo/file';
import { IdSchema } from '@repo/server-utils';
export const fileRouter = router({
getMyFiles: authProcedure
.input(ListFilesPaginatedSchema)
.query(({ ctx, input }) => {
return getFilesByUserIdPaginated(
ctx.user.user.id, input
);
}),
deleteFile: authProcedure
.input(IdSchema)
.mutation(({ ctx, input }) => {
return deleteFile(input.id, ctx.user.user.id);
}),
});import { useTRPC } from '@/lib/trpc-client';
import { useQuery, useMutation } from '@tanstack/react-query';
export function FileList() {
const trpc = useTRPC();
const queryClient = useQueryClient();
const { data: files } = useQuery(
trpc.file.getMyFiles.queryOptions({
pagination: { page: 1, limit: 10 }
})
);
const { mutate: deleteFile } = useMutation(
trpc.file.deleteFile.mutationOptions({
onSuccess: () => {
queryClient.invalidateQueries({
queryKey: trpc.file.pathKey()
});
}
})
);
return <div>{files?.data.length} files</div>;
}Ready to Build Something Amazing?
Skip months of setup and start building your next big idea with our enterprise-ready boilerplate.