Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
An Example of a PWA using Next.js, Material-UI, TypeScript and Auth0

A full-stack Next.js TypeScript template focused on functionality over UI, featuring Zustand, TanStack Query, and ESLint 9 support.
Nitro is a free and open-source Progressive Web App (PWA) boilerplate that combines Next.js, Material-UI, TypeScript, and Auth0 to provide a ready-to-run foundation for authenticated web applications.
Nitro is a boilerplate example repository created by GitHub user williamluke4, showcasing how to build a Progressive Web App (PWA) with Next.js, Material-UI, TypeScript, and Auth0. It takes a fresh clone of the repository and, after installing dependencies with npm or yarn and configuring Auth0 credentials, produces a running Next.js application with client-side authentication and PWA capabilities. The project runs on the Next.js framework and is designed to be extended into a full production application.
useAuth library by atto-byte to manage login, logout, and protected routes.Nitro is aimed at developers who want to start a new web application without setting up authentication and UI from scratch. React and Next.js developers looking to integrate Auth0 with Material-UI and TypeScript will find it a useful reference. It also serves as a learning resource for those building PWAs with modern React tooling.
yarn && yarn dev or npm install && npm run dev, and get a running Next.js app with Auth0 login pages ready to customize.Nitro works as a standard Next.js application. After cloning the repository and installing dependencies, you configure your Auth0 credentials in a .env file (as highlighted in the setup instructions). Running npm run dev or yarn dev starts the development server, while npm run build && npm run start or yarn build && yarn start builds and serves the production version.
Yes, Nitro is a free and open-source boilerplate. The entire source code is publicly available on GitHub, and you can clone, modify, and use it in your own projects. The repository also welcomes pull requests, encouraging community contributions.
Nitro uses Auth0 for authentication. It leverages the useAuth library by atto-byte, which is designed for Auth0 integration in Next.js applications. You will need to create an Auth0 account and configure your credentials to use the login features.
Nitro uses Material-UI (MUI) as its styling and component library. This gives the app access to pre-built React components like buttons, menus, and forms, along with Material Design theming and responsive layout capabilities.
To run Nitro locally, you need Node.js and npm or yarn installed on your machine. Additionally, you need an Auth0 account to set up authentication, and the setup instructions recommend adding your .env file to .gitignore before adding secrets.
