Template details
Saasfly
MIT-licensed Next.js boilerplate with Clerk auth, Stripe payments, PostgreSQL, tRPC and Tailwind for building full-stack SaaS apps.
About this template
Saasfly is an MIT-licensed Next.js boilerplate for building and shipping full-stack SaaS applications, scaffolded with one command (bun create saasfly) and maintained by Nextify.
What is Saasfly?
Saasfly is an open-source Next.js boilerplate that supplies the working foundation of a SaaS product — authentication, subscription payments, a database layer, transactional email, internationalization and an admin area — instead of a set of loose components. You install it with bun create saasfly or by cloning the GitHub repository, fill in environment variables for PostgreSQL, Stripe, Clerk and Resend, and it produces a runnable Next.js App Router monorepo containing a web app plus shared ui, db, auth and email packages. It is created by Nextify and released under the MIT License; a live demo runs at show.saasfly.io and the documentation lives at document.saasfly.io.
What makes Saasfly stand out?
- Next.js App Router on React 19 — the main
webapplication is built with the Next.js App Router, and the whole codebase is organized as a Turborepo monorepo. - Authentication — Clerk is the default auth provider from 1 June 2025; a NextAuth.js implementation remains available on the separate
feature-nextauthbranch. - Payments and email — Stripe handles payment processing, while Resend plus React-email components in the
emailpackage render transactional templates. - Database — PostgreSQL is the database; Kysely provides the type-safe SQL query builder and Prisma is used as the schema management tool, with schemas pushed via
bun db:push. - UI stack — Tailwind CSS combined with shadcn/ui components (built on Radix UI), Framer Motion animations, Lucide icons and next/font font optimization.
- Data and state — tRPC provides end-to-end typesafe APIs, TanStack React Query handles fetching and caching, and Zustand manages global state.
- Admin dashboard — an alpha admin area is served at /admin/dashboard, gated by the ADMIN_EMAIL environment variable; the README states it is static-only for now, with a headless architecture planned and no online demo for security reasons.
- Tooling — TypeScript, T3 Env for environment variable validation, ESLint, Prettier, Husky git hooks, Vercel Analytics and Bun package management.
Who should use Saasfly?
- Solo founders and indie developers launching a subscription product who want auth, billing and a database wired together before writing product code.
- Small product teams that need a Turborepo monorepo with shared
ui,db,authandemailpackages instead of separate repositories per concern. - Agencies and consultancies delivering client SaaS projects that want an MIT-licensed base they can modify freely.
- Non-profit organizations — the project states it provides free technical support and deployment services to non-profits.
What can you do with Saasfly?
- Ship a paid SaaS MVP: connect Stripe keys and a PostgreSQL database, then deploy with the one-click Vercel button that requests every required environment variable up front.
- Compare auth strategies: run Clerk in the main branch or switch to the NextAuth.js branch to evaluate which fits your product.
- Build a multilingual product: use the built-in i18n routing and Next.js metadata SEO support to serve localized pages.
- Run internal admin tasks: add admin addresses to ADMIN_EMAIL and sign in to /admin/dashboard.
How does Saasfly work?
- Install Bun, Node.js and Git, then run
bun create saasfly(or clone the repo and runbun install). - Copy
.env.exampleto.env.local, add a PostgreSQLPOSTGRES_URL, then runbun db:push. - Start the app with
bun run dev:weband open it at localhost port 3000;bun run tailwind-config-vieweropens an optional alpha Tailwind config viewer on port 3333. - Deploy to Vercel using the project's deploy button, which sets the root directory to
apps/nextjsand needs env vars including STRIPE_API_KEY, POSTGRES_URL, GITHUB_CLIENT_ID and RESEND_API_KEY.
Pricing
Saasfly is free and open source under the MIT License, with no paid tier required to use the template. Nextify separately offers a commercial enterprise SaaS solution and can be contacted at contact@nextify.ltd.
Alternatives
- create-t3-turbo — the T3 stack monorepo template that Saasfly credits as an inspiration.
- shadcn Taxonomy — shadcn's Next.js app-router example, also listed as an inspiration.
FAQ
Is Saasfly free to use?
Yes. Saasfly is released under the MIT License, so you can use, modify and redistribute it, including inside commercial products. Nextify additionally offers paid enterprise SaaS services, and provides free technical support and deployment help to non-profit organizations.
What tech stack does Saasfly use?
The stack is Next.js with the App Router on React 19, TypeScript, Tailwind CSS and shadcn/ui, tRPC, TanStack React Query, Zustand, Kysely and Prisma over PostgreSQL, Stripe, Resend with React-email, Clerk for authentication, and Turborepo with Bun for the monorepo.
Which authentication provider does Saasfly use by default?
Clerk has been the default authentication provider since 1 June 2025. A NextAuth.js implementation is still maintained on a separate feature-nextauth branch of the repository, so projects that prefer NextAuth can switch over.
Can I deploy Saasfly to Vercel?
Yes. The README includes a one-click Vercel deploy button that installs with Bun and requires environment variables such as POSTGRES_URL, STRIPE_API_KEY, STRIPE_WEBHOOK_SECRET, GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, RESEND_API_KEY and RESEND_FROM.
Is the admin dashboard production-ready?
No. The README labels the admin dashboard as alpha: it currently serves static pages only, with headless integration planned, and no online demo is provided for security reasons.










