Why CT3A?

Why TypeScript ?

Javascript is hard. Why add more rules?

We firmly believe the experience TypeScript provides will help you be a better developer, regardless of where you are in your career as an engineer. Whether you’re new to web development or a seasoned pro, the “strictness” of TypeScript will provide a less frustrating, more consistent experience than vanilla JS

Why Next.js ?

We love React. It has made UI development accessible in ways we never imagined before. It also can lead developers down some rough paths.

Next.js offers a lightly opinionated, heavily optimized approach to creating a website using React. From routing to API definitions to image rendering, we trust Next.js to lead developers towards good decisions.

Why tRPC/Prisma/Tailwind/etc?

While we believe in keeping things as simple as possible, we find these pieces being used in every “app” like project we build. create-t3-app does a great job of letting you adopt the pieces you need.

tRPC

tRPC delivers on GraphQL’s promise of seamless client development against a typesafe server without all of the boilerplate. It’s a clever abuse of TypeScript that provides an incredible dev experience.

Prisma

Prisma created a developer experience that didn’t exist before. Generating types from a user-defined schema, It guarantees type safety the whole way, from your database to your app.

Prisma also provides a whole suite of tools making daily interactions with your database easier, notably, the Prisma Client is responsible for querying workflows, making SQL so easy you’ll barely notice you’re using it.

In a few words, Prisma is to SQL what TypeScript is to JS.

Tailwind CSS

Tailwind generates the CSS you should create by hand, without leaving your JSX and is generally faster to write.

By providing building blocks in the form of good default colors, spaces, and others, Tailwind makes creating something good-looking easier; while not getting in the way when you’re building something beautiful and unique.

Additionally, with its inline-like approach, Tailwind encourages you to style without worrying about naming classes, organizing files, or any other issue not directly tied to the problem you’re trying to solve. Because of this, it’s not rare to see Tailwind described as “zen-mode CSS”.

NextAuth.js

For when you want an authentication system in your NextJS application, NextAuth.js is a perfect solution to bring in the complexity of security without the hassle of having to build it yourself. It comes with an extensive list of providers to quickly add OAuth authentication, as well as a database adapter system to allow you to use your own database of choice.