Indie Starter Kit · Next.js 15

The starter that speaks your customers' language — i18n included, not an upsell

ShipFast and Makerkit cost $199–349 — and ship English-only. This Next.js 15 starter comes with English, German and Thai wired in from day one: Supabase auth, a protected dashboard, Stripe Payment Links and a pricing table, in ~20 readable source files you actually own. ฿1,490 once — live in 45–60 minutes.

Get the starter — ฿1,490
One-time payment · ≈ US$42 · free updates for v1.x · instant download

What's inside

The real source code of a working Next.js 15 app — it runs before you configure anything, and it never crashes half-configured.

Next.js 15

App Router, done right

Landing page, auth screens and dashboard on the App Router with server components — the setup you would have built yourself, already built.

Supabase

Auth that just works

Email + password sign-up, log-in and log-out. Paste your project URL and anon key into .env.local — email auth is on by default in every new Supabase project.

One clear pattern

Protected dashboard

No session → redirect to login. The pattern lives in app/[lang]/dashboard/page.tsx — copy it to protect any page you add.

No webhook server

Stripe via Payment Links

Create links in the Stripe dashboard, paste them into .env.local — the pricing buttons go live. No server code to write or maintain.

The differentiator

i18n routing: EN / DE / TH

app/[lang]/ routing with three real dictionaries. Your German and Thai customers read copy written for them — not a machine translation.

One file

Configurable pricing table

Plans, prices and feature bullets live in config/pricing.ts. An empty payment-link variable shows a disabled button with a setup note — never a broken checkout.

The honest part: what v1 is — and isn't

Readable beats comprehensive. ~20 source files, each explained in one line in MANIFEST.md. You can read the whole codebase in an afternoon — that's the feature, not a shortcoming.

No blog, no CSS framework bloat. No CMS, no admin panel, no UI kit with 40 components you'll never use. Plain CSS in globals.css you can restyle in an hour.

Payments are simple on purpose. With Payment Links, Stripe doesn't tell your app when a payment succeeds — there is no webhook server in v1. Wiring webhooks is item one on the v2 roadmap (docs/roadmap-v2.md).

Scope is written down. docs/architecture.md, docs/roadmap-v2.md and MANIFEST.md ship in the zip — what runs where, what's missing, what every file does.

Who it's for

Four builders who get their money's worth in the first week.

You were eyeing a $199–349 boilerplate

ShipFast and Makerkit are solid — and English-only. If your customers read German or Thai, this starter ships the same fundamentals with i18n built in, at a fraction of the price.

You sell to Germany or Thailand

Landing page, auth screens and dashboard all switch between EN, DE and TH out of the box. Localize your copy in the dictionaries and every page follows.

It's your first SaaS

Twenty readable files beat two hundred magic ones. Auth, i18n, protected routes, payments — each pattern is small enough to actually understand while you ship.

You've outgrown bloated boilerplates

If a starter needs a manual just to navigate it, you don't own it — you babysit it. Here every file earns its place, and the whole codebase fits in your head.

From zip to live in three steps

Free tiers only — the buyer guide puts the whole setup at 45–60 minutes.

1. Clone and run

Unzip, npm install, npm run dev. The whole site works immediately — auth pages show a friendly “not configured” notice until your keys are in.

2. Add your keys

Supabase URL + anon key, Stripe Payment Links — all into .env.local. Email auth is on by default; pricing buttons go live the moment the links are set.

3. Deploy

Push to a private repo, import it to Vercel, add the same environment variables, deploy. Point Supabase's Site URL at your domain — done.

One price. You own the code.

No subscription, no per-project fee, no seat count.

฿1,490 one-time payment

≈ US$42

  • Free updates for v1.x
  • Instant download after checkout
  • Single-developer license — unlimited own products
  • ~20 readable source files, yours to modify

Secure checkout via Stripe · card payments · taxes calculated at checkout

Frequently asked questions

What does the license cover?

A single-developer commercial license: you own everything you build — ship unlimited products, commercial included, and the code stays in your repos. The one restriction: don't resell or redistribute the kit itself as a starter, boilerplate or template. Full text in LICENSE.txt.

Do I get updates?

Yes — every v1.x update is free: fixes, refinements, small features. Re-download any time from your download page with your email and password. If a v2.0 ever ships (webhooks are first on that list), existing buyers get a clear upgrade path — never a surprise paywall.

What is the refund policy?

If the starter doesn't fit how you work, email [email protected] within 14 days of purchase and we'll refund you in full — the zip is yours to keep or delete. One refund per purchase; we only ask for optional feedback.

Which languages are in the app?

English, German and Thai — real dictionaries in lib/i18n/dictionaries/, written natively. Adding a fourth language means copying one dictionary file and translating it, plus two one-line edits (the locale list and the switcher label). The exact recipe is in the buyer guide.

What is NOT in v1?

No blog or CMS, no admin panel, no component-library bloat, and no Stripe webhook server — Payment Links can't tell your app about successful payments, so plan upgrades stay manual until v2. Everything that IS included is listed in MANIFEST.md, one line per file.

Your product could be live this week — in three languages

฿1,490 one-time · ≈ US$42 · free updates v1.x · instant download

Get the Indie Starter Kit — ฿1,490