Skip to content
Launch Kit logo

Reference

Architecture

The file map, the four API routes, and the files you should not rewrite.

Launch Kit is one Next.js 15 app. Server Components by default. "use client" only where clicks or browser APIs need it. No server actions.

Routes

PathRole
/Marketing homepage
/signinGoogle + magic link
/dashboardPrivate product shell
/blog, /blog/[slug]MDX blog
/docs, /docs/[slug]These docs
/tos, /privacy-policyLegal
/showcaseSection catalog, noindex

API

MethodPathRole
GET/api/auth/callbackExchange the auth code, redirect to callbackUrl
POST/api/stripe/create-checkoutOpen Stripe Checkout. Guests allowed
POST/api/stripe/create-portalBilling portal. Auth required
POST/api/webhook/stripeGrant or revoke access, send welcome email

Top of the tree

text
app/                 pages, layouts, API routes, globals.css
components/
  blog/              article layout and MDX extras
  docs/              docs chrome
  legal/             Terms / Privacy wrapper
  layout/            Header, Footer, client chrome
  sections/          landing page blocks
  ui/                checkout, sign-in, account, theme
content/blog/        your-slug.mdx
content/docs/        this documentation
libs/                supabase, stripe, resend, seo, blog, docs
config.ts            product settings
middleware.ts        session refresh only

Leave these alone

  • libs/supabase/* and middleware.ts
  • libs/stripe.ts and the three Stripe routes
  • app/api/auth/callback/route.ts
  • libs/resend.ts — call it, do not replace it
  • libs/blog.ts / libs/seo.tsx unless you are changing SEO behaviour
  • next.config.js, postcss.config.js

Know about, do not treat as product features

  • Newsletter submit is a stub
  • resend.fromNoReply is unused
  • STRIPE_PUBLIC_KEY is unused
  • has_access is written by the webhook and not read until you gate a route
  • nodemailer is in package.json and unused

These docs

/docs is Launch Kit’s documentation. Before you launch your own domain, delete app/docs and content/docs (and the Docs links in the header and footer) so customers do not see this site.