One codebase. Six production-ready applications.
Stop rebuilding auth, billing, and storage from scratch every time you start a new project. Launchpad ships that foundation fully wired — you just choose what kind of site you're building and start on the actual product.
Interactive Demo → · Purchase Launchpad → · Features · Tech Stack · FAQ
Six site types. One codebase. All from a single config change.
| SaaS hero | Portfolio type | Feature grid |
|---|---|---|
![]() |
![]() |
![]() |
This is the public showcase for Launchpad. It contains full documentation, architecture breakdowns, and the setup guides you'd get with a purchase — so you can evaluate everything before buying. The full source code is delivered separately via private repository access once you purchase.
Every new project starts the same way. Two or three days of:
- Setting up Google/GitHub OAuth and figuring out why callback URLs don't match
- Wiring up Stripe webhooks and debugging why subscription status isn't updating
- Configuring S3 or R2 for file uploads
- Writing the same rate-limiting middleware you wrote three projects ago
- Setting up Resend and discovering why emails work fine in testing but fail in production
None of that is your product. That's plumbing.
Launchpad handles all of it. One codebase, with the entire backend infrastructure already assembled, tested, and documented. The only thing you change to get a different kind of application is a single line in the config:
// src/user-control/site-config.ts
siteType: "saas" // or "portfolio" | "agency" | "ecommerce" | "content" | "marketing"| Type | What you get immediately |
|---|---|
saas |
Hero, feature grid, pricing tiers with monthly/yearly toggle, subscription billing, AI-powered dashboard |
portfolio |
Project showcase grid loaded from your database, case study pages, contact form |
agency |
Services layout, case studies grid, lead-capture contact form, leads inbox in the dashboard |
ecommerce |
Product catalog, shopping cart, one-time Stripe checkout, order history |
content |
Blog-first homepage, Markdown editor, draft/published states, newsletter capture |
marketing |
Single-page product pitch, waitlist form with email capture to database |
Each type has genuinely different homepage components and database tables, not just a reskinned version of the same layout.
No matter which site type you pick, the same backend runs underneath:
Authentication — Better Auth with Email/Password, Google, GitHub, and Magic Link. Email verification, password reset, and account deletion flows are all implemented, not just stubbed. Session handling works correctly with Next.js Server Components and Server Actions.
Payments — Stripe and LemonSqueezy both supported for recurring subscriptions. The webhook handlers correctly handle Stripe's current API version, including the current_period_end change that moved to the subscription item level. The e-commerce module uses a separate one-time Stripe Checkout flow.
AI — Vercel AI SDK v5. Streaming chat, image generation via OpenAI, and a full RAG pipeline backed by pgvector with HNSW indexing. The implementation uses the current v5 message shape (UIMessage with parts), not the older v4 pattern that most tutorials still show.
Database — Drizzle ORM on PostgreSQL. Pre-written schemas for users, sessions, subscriptions, AI usage tracking, file uploads, blog posts, products, orders, project portfolios, and contact leads.
Storage — Cloudflare R2 or AWS S3. File uploads are handled with presigned URLs generated server-side, so uploaded files go directly from the browser to the bucket without passing through your server.
Email — Resend. Auth emails, contact notifications, and order confirmations are all templated and ready. The docs cover the specific Resend gotcha around onboarding@resend.dev that catches almost everyone.
Security — Rate limiting (Upstash Redis with automatic in-memory fallback), Content Security Policy headers, CSRF protection via Better Auth. Disabled modules are actually blocked at the middleware level — page routes and API routes both return 404, not just hidden from the nav.
The dashboard adapts to what you've enabled. Each module is an independent toggle:
features: {
modules: {
ai: true, // Chat, Image Lab, RAG Knowledge Base
shop: false, // Products, cart, one-time checkout, orders
content: false, // Blog post editor
leads: false, // Contact form submissions inbox
projects: false // Portfolio/case study manager
}
}A disabled module contributes zero routes, zero sidebar entries, and zero API endpoints to your application.
| Guide | What's covered |
|---|---|
| FEATURES.md | Exactly what's included per site type, and what you'd build on top |
| TECH_STACK.md | Every library choice explained, with the reasoning behind it |
| ENVIRONMENT_VARIABLES.md | Every environment variable, what it does, and how to get it |
| PAYMENT_SETUP.md | Stripe and LemonSqueezy configuration, step by step |
| RAG_SETUP.md | How the Knowledge Base and RAG pipeline works |
| DEPLOYMENT_CHECKLIST.md | What to verify before going live |
| QA_CHECKLIST.md | End-to-end smoke test for every module |
Next.js 15 (App Router) · TypeScript strict mode · Tailwind CSS v4 · Better Auth · Drizzle ORM · PostgreSQL · Vercel AI SDK v5 · Stripe · LemonSqueezy · Resend · Upstash Redis · Cloudflare R2 / AWS S3 · Framer Motion
Full reasoning behind every choice is in TECH_STACK.md.
- Complete Next.js 15 source code
- All documentation files included in this repo
- QA checklist to verify every module end-to-end before launch
- License for unlimited personal and client projects
- All future updates
The source code delivered with Launchpad is licensed for unlimited use in personal and client projects. You cannot redistribute or resell the source code as a template or starter kit.
This showcase repository (docs and architecture guides) is public. Share or link to it freely.
Copyright (c) 2026 BZDevelopments


