Other Recommendations

We recognize that Next.js and TypeScript don't solve every problem. While we encourage you to use the primitives they provide as often as you can, there are other tools that will help simplify and improve your developer experience.

UI Essentials

Tailwind CSS - for your styles

I hated the idea of Tailwind. Then I tried it.

It seems like Bootstrap. I promise it is not Bootstrap. It enables a "flow state" in UI dev I didn't know was achievable. (and yes we used it here)

Data Management

React Query - for your client

This little library handles all your async React needs from data fetching to IO management. Hard to imagine doing React dev without it now. Might be able to replace your state management library too.

Prisma.io - for your DB

Prisma is to SQL what TypeScript is to JS. Never thought I'd love an ORM, but man, trust me on this one.

tRPC - for defining and consuming APIs

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.

Analytics

Plausible - for user data

Need analytics? Plausible is one of the quickest ways to get them. Super minimal. It even has a simple plugin for Next.js.

Authentication

NextAuth.js - for authentication

Man this library makes auth easy. No ownership compromise, hooks up to your DB directly. So good that I ported two projects to Next to use it.

Note: Does not support React Native directly. Yet. 😉

Deployments, Infrasctructure, Databases and CI

Vercel - for hosting your website

Vercel took the hell of web deployments and made it a set-and-forget GitHub integration. We've scaled to hundreds of thousands of users without issue. AWS-powered, just a way better interface :)

PlanetScale - for databases without the worry

PlanetScale is the best "serverless database platform" I've used by far. Insane scale, great developer experience, fantastic pricing. If you're using sql (and hopefully Prisma), this is hard to beat.

Railway - for hosting your infra

"Modern Heroku". Easiest way to get a real server up and running. If Vercel and PlanetScale aren't enough, Railway probably is. Point it at a GitHub repo and go.

State Management

Editor's Note: State management libraries can be great, but often aren't necessary. Start with React Query and built-in React state, reach for these when you need more

Zustand - for never using Redux again

The "modern, simple Redux" you didn't know you needed. Poimandres can always be trusted. I have built everything from video call apps to games to servers with this little library

Jotai - for never using Context again

For a more atomic approach, Jotai is hard to beat. Also by Poimandres, Jotai lets you define singletons that feel like global useState. Great option for stateful behaviors that don't need a state machine just yet