Technology
Prisma
Prisma is how the TypeScript app and the database stay in the same conversation. The model is a file you can review.
What it is
Prisma is a TypeScript ORM and schema tool for talking to databases, most often PostgreSQL. You describe models in a schema file, generate a client, and migrate with a history that lives in git. It is how a lot of Next.js apps stop scattering raw SQL across route handlers.
It is not the database. It is the contract between the app and the database. Used well, the types match the tables. Used as a hiding place, it becomes a second domain language nobody wanted.
What it does
Teams use Prisma to model users, billing, content, and relations in TypeScript apps. Next.js, Node APIs, and serverless functions all sit on the generated client. Studio is the GUI for a quick look. The source of truth is still the schema file.
We keep migrations next to the UI. A field change is one pull request. We do not pretend the ORM makes backups or policies someone else's problem.
Why we use it
A schema in the repo, not a folklore of columns.
Migrations in pull requests. A seed for the prototype you can click. A second engineer should not need a tour. A billing table cannot drift because the type and the column change together.
If the schema file and the product disagree, we fix that before launch, not in a war room.
Built on it
Cal.com
An open-source scheduling product built with Prisma and Next.js.
Trigger.dev
A jobs platform in the Prisma and TypeScript generation.
Dub
A link product in the same Next.js and Prisma stack.
Prisma itself
The company's own cloud and docs sit on the tool they sell.
Next.js shops
A large share of new TypeScript products start with Prisma as the data layer.
Tell us what needs to ship.
You use a working prototype before the production build goes ahead.