Short version: Supastarter is one of the better-architected Next.js SaaS kits — clean code, well-documented, regular updates. If you're selling globally and Supabase Cloud + Stripe work for you, it's an excellent choice. Already CH is for the Swiss-specific case: TWINT, CHF + 8.1% VAT, Swiss data residency, nFADP register, Matomo cookie-free.

Stack comparison

LayerSupastarterAlready CH (CH 🇨🇭)
Framework
Next.js App Router
TypeScript + Tailwind + shadcn/ui
ORMPrisma / DrizzleDrizzle
Hosting + Data residency
Default hostingVercel (US, global edge)Exoscale + Coolify (CH)
DatabaseSupabase Cloud (US/EU multi-region)Supabase self-hosted on Exoscale CH
Pinned to CH region— (buyer config)✓ Geneva / Zurich
No US sub-processors (default)
Billing
Payment processorStripe / Lemon SqueezyPayrexx (CH)
Default currencyUSD / EURCHF
TWINT
PostFinance
Swiss VAT 8.1% pre-wired
Email + Auth
Transactional emailResend / Postmark / PlunkInfomaniak SMTP (CH)
AuthSupabase / Better AuthSupabase Auth
TOTP + Passkeys
Org-wide MFA mandate~ partial
Multi-tenancy
Organisation / workspace model
Postgres RLS
Query-layer tenant scoping~ partial✓ withOrgScope()
Admin dashboard + impersonation~ partial
Observability
AnalyticsUmami / PostHogMatomo self-hosted (CH)
Cookie-free analytics (no consent banner)~ Umami yes
Error trackingSentry (US)GlitchTip self-hosted (CH)
Feature flagsUnleash self-hosted (CH)
Bot protectionFriendly Captcha (DE)
AI integration
Primary AI providerAnthropic / OpenAI (US)Mistral AI (FR)
Compliance
nFADP data register UI at /admin
GDPR export + deletion endpoints
Pre-written privacy policyGDPR templatenFADP + GDPR
Pricing
Price€199–699 one-time + €19/mo updatesCHF 199 one-time
Recurring subscription~ optional updates

Architecture

Supastarter

Supastarter is one of the cleaner Next.js + Supabase architectures on the market. Modular by design, with a clear separation between marketing and app, and a healthy update cadence. The Pro tier ships with i18n, organisations, billing, and an admin area.

Already CH Swiss-pinned

Same overall architecture intent — Next.js 15 + Supabase + Drizzle + shadcn/ui — but every default that's "global" in Supastarter is Swiss in Already CH. Hosting on Exoscale CH, Supabase self-hosted (not Cloud), Payrexx (not Stripe), Mistral (not Anthropic). The plumbing is identical; the providers are sovereign.

Data residency

Supastarter

Supabase Cloud (US-incorporated, EU regions available), Vercel global edge, Stripe in the US. For most products this is fine. For Swiss customers asking "where does our data live?", the honest answer is "Supabase picks a region, Vercel runs at the edge globally, and Stripe holds card data in the US."

Already CH CH 🇨🇭

Every default Swiss or European: Supabase self-hosted on Exoscale in Geneva or Zurich, Payrexx in Thun, Infomaniak in Geneva. The only US touchpoint is GitHub for code delivery — which we'll swap to a Swiss tarball for buyers who can't accept it.

Payment methods

Supastarter

Stripe covers the global card network plus Klarna, SEPA, and the usual local European wallets. Lemon Squeezy is an MoR option if you'd rather offload tax. Neither ships TWINT or PostFinance.

Already CH + TWINT

Payrexx ships TWINT, PostFinance, Swiss cards, Visa/Mastercard/AmEx, and Apple Pay / Google Pay. Settlement in CHF directly to a Swiss bank. 8.1% VAT pre-calculated in config/billing.ts.

Compliance posture

Supastarter

Ships GDPR-compliant data export and deletion endpoints and a generic privacy template. Good baseline for the EU market. nFADP-specific work (Art. 12 register, Art. 19 information, FDPIC-recognised SCCs) is on you.

Already CH nFADP

Ships the nFADP register at /admin/data-register pre-aligned to Art. 12, a privacy policy referencing nFADP Art. 19 + Art. 25, and FDPIC-recognised SCC wording for the GitHub transfer. Matomo cookie-free means no consent banner. Designed to pass a Swiss DPO's audit on day 1.

Who should use what

Use Supastarter when

  • Your customers are global or EU-wide
  • Supabase Cloud + Vercel + Stripe is the stack you want
  • You like Christoph's update cadence and Discord community
  • You want polished marketing-page templates included
  • You don't need Swiss data residency or TWINT

Use Already CH when

  • Your customers are Swiss or German-speaking
  • TWINT, PostFinance, and CHF billing are expected at checkout
  • nFADP audit risk is real (healthcare, finance, gov, education)
  • Self-hosted Supabase in CH beats Supabase Cloud for you
  • You want Mistral AI as primary provider, not Anthropic/OpenAI

The honest comparison

Supastarter is one of the genuinely better Next.js + Supabase starters on the market — well-architected, well-maintained, fair pricing. If you're selling globally and Supabase Cloud + Vercel work for you, it's a strong choice.

Already CH is for the Swiss B2B case where the provider list matters more than the framework. Same overall architecture; every infrastructure provider replaced with a Swiss or European equivalent; nFADP register and Matomo cookie-free out of the box. If your buyers ask where data lives, Already CH removes a week of integration work.