// the find
michaelshimeles/nextjs-starter-kit
The Ulimate Nextjs Starter Kit. Build your next SAAS product of your dreams. Batteries included.
A Next.js 15 SaaS boilerplate that pre-wires auth (Better Auth), subscriptions (Polar.sh), file uploads (Cloudflare R2), an OpenAI chatbot, and PostHog analytics. Targets indie hackers who want to skip the integration plumbing and start on product logic. 3k stars with 739 forks suggests real adoption, not just repo tourism.
Better Auth is a legitimate upgrade over NextAuth — less magic, real session control, and v1.2.8 is stable. Drizzle ORM with strict TypeScript is the right call here; schema-as-code and type-safe queries without the weight of Prisma. Cloudflare R2 for storage is a smart default — zero egress fees matter once you have real users. Project structure is flat and conventional; nothing to unlearn, nothing buried in abstraction.
Polar.sh as the payments layer is a bet — it works well for OSS and dev tools but is a poor fit for most B2C SaaS. Swapping it for Stripe touches the webhook handler, subscription utilities, pricing page, and middleware all at once. The AI chatbot is a demo feature bolted onto the dashboard; most SaaS products have no use for a generic OpenAI chat widget and you will delete it immediately. No tests anywhere — not a single test file in the tree, so you are inheriting untested integration code across six external services. The quick start requires six separate accounts (Neon, Polar, OpenAI, Cloudflare R2, PostHog, Google OAuth) before the app is functional; calling this 'batteries included' oversells it.