KPBoards
Skip to main content
KPBoards

Web and mobile apps, shipped.

KPBoards — building web apps and mobile apps. Selected work, build-log teardowns, and hire-me for your next build.

Quick links

  • Home
  • Blog
  • Work
  • Open source
  • Stack
  • Services
  • Playbooks
  • About
  • Contact

Legal

  • Privacy notice
  • Terms of service
  • Cookie policy
  • Affiliate disclosure
  • Refund policy
  • DMCA / Copyright

Contact

hello@kpboards.com+84 901 430 110
Copyright 2026 KPBoards. All rights reserved.
Privacy noticeTerms of serviceCookie policy
Back to Blog
Web Development

Multi-language SaaS Starter v3.4 launch — 60+ routes, 339 tests, 11 RLS migrations

Production-ready Next.js 16 + React 19 SaaS template. 10 locales, 45 themed UI primitives, full auth + Stripe + admin, ⌘K palette, RSS feeds, feature-request board. Demo at starter.kpboards.com — launch $149 on Polar.sh.

Khoi PhamMay 9, 20267 min read12 views
Share:
~1 min read
Multi-language SaaS Starter v3.4 launch — 60+ routes, 339 tests, 11 RLS migrations

Last month I pushed v3.4 "Premium Polish" of Multi-language SaaS Starter - and this release adds 50+ new routes on top of v3.3. Total shipped routes in the template: 60+. Before reading further: live demo at starter.kpboards.com.

This is an update post because too many SaaS templates leave you to build:

  • Notification bell + activity feed
  • ⌘K command palette
  • Integrations catalog + webhooks
  • Onboarding flow (welcome + setup checklist)
  • Feature-request voting board
  • RSS feeds (site + blog + changelog)
  • Print stylesheet for invoices/blog

v3.4 ships all of it. That's the differentiator worth highlighting.

What's in v3.4

I named v3.4 "Premium Polish" because the theme is turning the template from "complete SaaS surface" into "ready-to-photograph for the launch deck". Twelve phases, ~50 new routes layered on v3.3.

1. Landing personalisation - 5 hero variants

One config knob in LANDING.heroVariant:

  • bento - feature grid (default)
  • split-video - copy left, demo video right
  • minimal - single H1 + CTA
  • conversion - testimonial-first
  • product-shot - dashboard screenshot

Plus 3 optional strips: <LandingLogos />, <LandingStats />, <LandingComparison />. A/B test variants without touching code.

2. Trust + comparison + vertical SEO

The surface every enterprise pitch needs that templates skip:

  • /trust, /security, /status (footer pill: green/yellow/red)
  • /vs + per-competitor pages - comparisons against ShipFast / Makerkit / Achromatic
  • /use-cases + per-vertical pages
  • /alternatives/[slug]

All static, generated at build, indexable. Long-tail SEO surface for ranking on "ShipFast alternative" or "SaaS template for fintech".

3. Resources hub + 3 free tools

/resources + 3 SEO-magnet tools: slug-generator, contrast-checker, UUID generator. Pull organic search traffic without paid acquisition.

4. Sales-led path

Four lead-gen forms: /demo, /contact-sales, /quote, /onboarding-call. Each form persists ContactMessage.tag so the admin inbox filters by funnel.

5. Company surface

/careers + [id], /press, /partners, /brand, /manifesto. Solo founders get a "company page" without hiring a designer.

6. App polish - notifications + activity + integrations + webhooks

  • <NotificationBell /> topbar dropdown with 60s poll
  • /app/notifications with mark-all-read
  • /app/activity reads from audit log
  • /app/integrations 9-entry typed catalog + /app/integrations/[slug]
  • /app/webhooks with signed secrets shown once

7. App polish - power features

  • ⌘K <GlobalSearch /> command palette (cmdk)
  • <KeyboardShortcutsDialog /> (?)
  • /app/exports async export center
  • /app/templates 8-entry typed gallery
  • <BulkActionBar /> + <SavedViews /> adopted in /app/tasks

8. Onboarding

/welcome first-signup intro, <SetupChecklist /> dashboard widget tracking 5 steps + Profile.onboarding jsonb backing it.

9. Visual polish library

<EmptyState /> + 5 inline-SVG illustrations, <CardSkeleton /> / <TableSkeleton /> / <DetailSkeleton /> / <ListSkeleton />, <AnimatedCounter />, useConfetti(), <PageTransition />, useScrollReveal().

10. Community + feedback

/feature-requests voting board, /feature-requests/new, /showcase, floating <FeedbackButton /> on every authed page.

11. Content depth + RSS

  • /newsletter archive + /newsletter/[issue]
  • /podcast
  • /events + [id] with RSVP / replay
  • 3 RSS feeds (/feed.xml, /blog/feed.xml, /changelog/feed.xml)

12. Document polish

Print stylesheet covering blog + docs + invoices + admin lists, /admin/exports admin-side export center.

Six new Prisma models (Notification, IntegrationConnection, Webhook, ExportRequest, FeatureRequest, FeatureRequestVote) plus the Profile.onboarding jsonb column. RLS owner-scoped on every new user-facing table; admin-gated where appropriate. RLS_EXPECTATIONS now lists 16 tables; all asserted in bun run verify:rls.

Why indie devs buy this instead of building it

Three real reasons:

1. 10 locales pre-wired (EN/VN/ES/FR/JA/KO/ZH/AR + RTL/ID/TH)

Most popular SaaS templates (ShipFast, Makerkit, Achromatic) ship 1-2 locales. Expanding is your problem. This template ships 10 working locales, each with:

  • Type-safe keys - TypeScript fails the build if a key is missing in any locale
  • Auto-detect by browser locale + timezone
  • hreflang alternates auto-generated
  • Multi-locale sitemap
  • Arabic ships with RTL as the worked example

Adding a new locale (de.ts, pt.ts): drop the file in src/locales/, register one line in template.config.ts, done. i18next + hreflang + sitemap pick it up.

2. Two parallel stacks - flip 2 env vars, no code change

Default: Supabase Auth + Supabase Postgres. Set AUTH_PROVIDER=nextauth + DB_PROVIDER=neon → Auth.js v5 + Neon. Same API surface (requireUser, requireAdmin), same admin panel, no code changes.

Many teams don't want Supabase lock-in. Switching stacks usually costs 1-2 weeks of debugging. Here: 2 env vars.

3. Production RLS + verify:rls fails CI on drift

Other templates ship "auth wired up". This one ships full RLS:

  • 11+ paired SQL migrations with explicit CREATE POLICY blocks for every table
  • on_auth_user_created trigger materializes the Profile row on signup
  • enforce_role_immutability trigger blocks role escalation via the user-facing PATCH
  • profiles_update_self_safe_columns policy blocks user-side billing tampering
  • bun run verify:rls asserts every table has RLS on + the expected policy - drift fails CI

That's the actual differentiator from "RLS-off, fix it later" templates.

Test pyramid + dev tooling

  • 339 unit tests (Vitest, 40 files)
  • 28 Playwright specs, deterministic - single worker, locale-pinned en-US, timezone UTC
  • knip dead-code audit, i18n parity validator (10 locales), bundle-size budget, Lighthouse, linkinator
  • husky + lint-staged + commitlint pre-commit gate
  • bun run verify = lint + type-check + knip + i18n + test + build

Stack

Next.js 16 (App Router, React Compiler, standalone output) · React 19 · TypeScript 5.9 strict · Tailwind 4 · shadcn/ui (Base UI) · TanStack Table v8 · recharts · cmdk · vaul · react-resizable-panels · papaparse · i18next + react-i18next · Supabase Auth · Prisma 7 + Postgres · Stripe · Resend · Zod · Vitest · Playwright

Pricing + license

  • Launch $149 for the first 1000 buyers (then $249)
  • Single-developer commercial - unlimited apps for self + direct clients, no source redistribution
  • 6 months of free updates. After that, paid upgrade unlocks 12 more months
  • 7-day no-questions refund - if bun install && bun dev doesn't boot on a fresh machine, email me and I refund within one business day

Who buys this, who doesn't

Buy if:

  • Indie dev shipping a SaaS - you don't want 2 months of plumbing before the first paying customer
  • Solo founder going multi-locale on day one - 10 pre-wired locales, multi-currency Stripe
  • Agency building white-label SaaS for clients - production RLS, audit log, branded admin shell

Skip if:

  • You already have a codebase and only need 1-2 features - copy-paste is cheaper
  • You're not deploying multi-locale - simpler templates (ShipFast) are a better fit
  • You only need a landing page - this is a full SaaS, overkill

Try it + buy

→ Live demo at starter.kpboards.com

Demo admin login: demo+admin@example.com / demo. Read-only - writes return 403, but the panel renders fully.

→ Buy launch $149 on Polar.sh

Tags:#Next.js#TypeScript#i18n#SEO#Templates
Share:

Read next

Hand-picked articles and tools based on what you just read.

AI Personal Finance SaaS Starter launch — Claude API insights, OCR receipts, 5-bank CSV, 60+ RLS migrations
Web Development

AI Personal Finance SaaS Starter launch — Claude API insights, OCR receipts, 5-bank CSV, 60+ RLS migrations

Production-ready Next.js 16 + React 19 fintech SaaS template. 10 locales, Stripe freemium, Claude insight engine, OCR via Tesseract.js, 5-bank CSV import, family accounts, public API + SDK. Demo at ai-personal-finance.kpboards.com — launch $199 on Polar.sh.

Vercel Got Hacked — What To Do Right Now If You're Using Vercel
Web Development

Vercel Got Hacked — What To Do Right Now If You're Using Vercel

A six-step incident response guide for the Vercel supply chain attack: rotate secrets, reset database, revoke OAuth integrations, audit logs, and set up defenses for the future.

Next.js SEO Masterclass — Everything You Need with App Router 2025
Web Development

Next.js SEO Masterclass — Everything You Need with App Router 2025

A battle-tested template consolidating all SEO best practices for Next.js App Router: metadata API, JSON-LD, generateStaticParams, ISR, sitemap.ts, and avoiding the common pitfalls that prevent Google from indexing your site.

Related tool

Vercel v0

Generate production-ready React and shadcn/ui components from natural language

See the review

Get the AI Stack for Solo Founders

Get the AI Stack for Solo Founders — 10 tools I use daily + the prompts that make them work.

No spam. Unsubscribe in one click.

Comments

Loading comments...

Leave a comment

0/2000