The Missing Fullstack Toolkit for Next.js

Ship. Fast.

Blitz picks up where Next.js leaves off, providing battle-tested libraries and conventions for shipping and scaling world wide applications.

// ---- ON THE SERVER ----
// app/projects/mutations/createProject.ts
import { resolver } from "@blitzjs/rpc"
import db from "db"
import * as z from "zod"

// This provides runtime validation + type safety
export const CreateProject = z
  .object({
    name: z.string(),
  })

// resolver.pipe is a functional pipe
export default resolver.pipe(
  // Validate the input data
  resolver.zod(CreateProject),
  // Ensure user is logged in
  resolver.authorize(),
  // Perform business logic
  async (input) => {
    const project = await db.project.create({ data: input })
    return project
  }
)

Typesafe API Layer

Build and iterate on features 10x faster with Blitz RPC than REST, GraphQL, or vanilla API routes. Read and write data from the client with full typesafety and without messing with HTTP or serialization.

Authentication

Powerful, flexible, and battle tested authentication and authorization for Next.js. You get more control with simpler APIs than alternatives. Easily add social third party integrations like Google, Github, and Auth0.

Conventions & Codegen

Set up a new app in 2 mins instead of 2 weeks. Everything will be set up for you including auth, user signup, forgot password, and your form library of choice.

Everything You Need For Production Apps

Built for Monoliths and Services

You can manage everything from the database to your frontend all inside a single app. Only one thing to develop. Only one thing to deploy.

Or not. Your choice.

Loose Opinions

The out-of-the-box experience guides you on a path perfect for most applications. But when you need to go off the beaten path, you are totally free to do so.

And nearly everything is pluggable. For example, we don't mandate which styling or form libraries you use.

Convention over Configuration

Blitz does all the boring set up and configuration for you. The common project structure and architectural patterns make it easy to move from one Blitz app to another and immediately feel at home.

Easy to Start, Easy to Scale

Easy for beginners and easy to migrate existing Next.js apps to Blitz.

Easy to scale in all forms: lines of code, number of people working in the codebase, and code execution.


We Love Our Community!

Bhanu Teja Pachipulusu
Lucas Heymès
CJ Lazell
Phillipp Schmedt
Gustavo Gard
Raphaël Huchet
Giel
Austin Walhof
Akifumi Sato
Johan Schepmans
Basil Khan
Juan Di Toro
Immortalin
Tobias
Andreas Bollig
Ajanth
Talor Anderson
Rabbi Hossain
Da-Jin Chu
Lucas Vazquez
Elias Johansson
Luis Isea
Karan Kiri
Austin (Thang Pham)
JH.Lee
Jon Stuebe
Rembrandt Reyes
Cody G
Tsuyoshi Osawa
Tahir Awan

Our community is warm, safe, inclusive, and fun!
Please read our Code of Conduct.

Join our Discord Community

We are all in this together, from the youngest to the oldest. We are all more similar than we are different. We love to work together.

We invite you to help make Blitz the best JavaScript application layer we've ever had!

Learn How to Contribute

Architecture Diagram

Architecture diagram

Everything End-to-End From the Database to the Frontend

Authentication & Authorization

Blitz authentication is super easy and secure. Works with any identity provider, including self-hosted username and password and third-parties like Auth0.

Database Agnostic

You can use any database you want. Prisma is the default database client, but you can remove that and use anything else like Fauna or DynamoDB.

Recipes

One command to install code and/or packages into your blitz app. Examples: `blitz install tailwind` or `blitz install chakra-ui`. Recipes can be created by anyone.

Backend Architecture

Blitz is set up for server intensive tasks like sending emails, cron jobs, background processing, generating PDFs, etc. Currently we have minimal backend guides, but are working on developing more patterns and adding more docs.

First Class TypeScript Support

Blitz is built with TypeScript and the Blitz data layer is fully end-to-end typesafe. All types are completely static without needing a separate type generation process!

Code Scaffolding

Blitz code scaffolding is great for both prototyping and for building real apps! You can override templates with your own.

Our Sponsors

Your financial contributions help ensure Blitz continues to be developed and maintained! We have monthly sponsorship options starting at $5/month.