ALREADY CH — SWISS-SOVEREIGN SAAS STARTER  🇨🇭

The Next.js starter that keeps
your data in Switzerland.

Every SaaS starts the same way — weeks wiring auth, billing, and user management before writing a single line of product code. Already CH ships all of it, Swiss-sovereign from commit one. Payrexx + TWINT, Exoscale hosting, Matomo analytics, nFADP compliance built in. No US cloud vendors by default. Buy once, own the code.

One-time purchase · full source ownership · CHF billing via Payrexx

Already CH is a Swiss-sovereign Next.js 15 SaaS starter kit that ships 16 pre-wired modules: Supabase Auth with org-level MFA mandate, Payrexx billing (CHF, TWINT, PostFinance, 8.1% VAT), multi-tenant orgs with row-level security (B2B or B2C), Mistral AI integration, nFADP data register, Matomo analytics, GlitchTip error tracking, Unleash feature flags, Friendly Captcha, and Exoscale + Coolify deployment. Built for builders who care where their data lives. One-time CHF 199 (Solo) or CHF 399 (Team).

Replaces
Built with
Swiss Startup Fintech CH Health IT B2B SaaS Indie Dev

"I needed a SaaS base that doesn't route my customer data through AWS us-east-1. Already CH was the only starter I found where that was actually the default, not an afterthought. Everything on Exoscale, nothing leaving Europe."

Lukas B.
Indie Developer
Zürich · building a B2B document workflow SaaS

"Our legal team kept flagging US sub-processors. Switching to Already CH removed four of them in one go — Stripe, Resend, PostHog, Vercel. The nFADP data register was already wired up. First audit passed without changes."

Sandra M.
CTO
Geneva · compliance-sensitive B2B SaaS, Swiss healthcare adjacent

"TWINT support was the deciding factor. Swiss customers expect it. Payrexx wires it up properly — idempotent webhooks, CHF amounts in Rappen, 8.1% VAT handled. I shipped Payrexx + TWINT in a day, not a sprint."

Florian W.
Full-Stack Developer
Bern · migrated from Stripe to Payrexx using Already CH
For already users · Swiss builders

Migrating from already?
Same base, sovereign stack.

Already CH shares the same codebase philosophy, architecture, and quality bar as already. If you're already running already (or want to start fresh with a Swiss-sovereign base), swapping US services for CH equivalents is a checklist, not a rewrite. Your users, auth, and RLS policies move intact.

already (US) any Next.js SaaS fresh start
same DB schema same auth model data stays in CH
  • Replace Stripe → Payrexx
    Idempotent webhooks pre-built. Org identified via referenceId. TWINT + PostFinance + credit cards ready.
  • Replace Resend → Infomaniak SMTP
    React Email templates stay unchanged. Nodemailer driver, Swiss SMTP host, GDPR-native. One env var swap.
  • Replace PostHog → Matomo
    Self-hosted, cookie-free mode. No consent banner required. nFADP compliant. Analytics provider component pre-wired.
  • Replace Vercel → Exoscale + Coolify
    Docker output:standalone. Exoscale Marketplace QCOW2 + Coolify seed included. Data center in Switzerland.
  • Replace Upstash → Exoscale Redis
    ioredis driver — same API surface as the Upstash REST client for rate limiting. TCP-native, no HTTP overhead.
01

Swiss data sovereignty. 🇨🇭

Supabase runs self-hosted on Exoscale — your Postgres, your Auth, your Storage. Data center in Switzerland. No US cloud sub-processors by default. You control where every byte lives, from day one.

02

nFADP compliance by default.

The nFADP data register is built in at /admin/data-register — Art. 12 processing activities, pre-populated. Matomo in cookie-free mode, no consent banner required. No US surveillance stack. Pass the first audit without a rewrite.

03

Swiss payment stack.

Payrexx billing with TWINT, PostFinance, and credit cards. CHF amounts in Rappen, 8.1% VAT pre-wired in config/billing.ts. Idempotent webhooks, dead-letter queue included. Swiss customers expect TWINT — it works on day one.

Repo structure
app/ ├─ (app)/ ← authenticated product ├─ (auth)/ ← sign in, MFA, passkeys ├─ (admin)/ ← impersonation, nFADP register └─ (public)/ ← marketing, docs, legal config/ └─ billing.ts ← Payrexx plans, CHF, 8.1% VAT db/schema/ ← Drizzle + RLS + nFADP table lib/auth/ └─ requireAuth() requireOrg() requirePlan() lib/payrexx/ ← client, checkout, portal lib/messaging/ ← notify() via Infomaniak SMTP CLAUDE.md ← CH stack context (pre-written) infra/ ← Coolify seed + Exoscale QCOW2
API examples
// Payrexx webhook — idempotent by transaction ID export async function POST(req: Request) { const { transactionId, referenceId } = await parsePayrexxWebhook(req) // referenceId === orgId (set at checkout) await processIfNew(transactionId, referenceId) } // Multi-tenant query — always scoped to org const rows = await db.query.invoices.findMany( withOrgScope({ orgId }) ) // nFADP data register query const activities = await db.query .dataProcessingActivities.findMany() // → /admin/data-register — Art. 12 list
01
Buy Already CH
One-time purchase in CHF. You get a private GitHub repo invite immediately.
02
Clone the template
Click "Use this template" on GitHub. Clean copy — no shared history. Your repo, your code from commit one.
03
Run pnpm setup
Validates env vars, runs DB migrations, bootstraps Payrexx products. Local dev works in minutes — no cloud accounts required on day one.
04
Deploy to Exoscale
Docker output:standalone. Coolify seed and Exoscale QCOW2 image pre-configured. CI/CD via GitHub Actions pre-wired.
01
Auth
Supabase Auth + SSR. Email, Google OAuth, magic links, TOTP, passkeys. Org admins can require MFA for every member.
02
Messaging
Infomaniak SMTP + React Email + Supabase Realtime. One notify() API for email and in-app. Swiss SMTP, GDPR-native.
03
Payrexx Billing
Payrexx subscriptions. CHF, TWINT, PostFinance. Idempotent webhooks, 8.1% VAT, org identified via referenceId.
04
Route Protection
requireAuth() · requireOrg() · requirePlan() in Server Component layouts.
05
Multi-Tenant Orgs
withOrgScope() query helpers + RLS. Personal org auto-created on signup. One config flag flips between B2B (org switcher, invitations) and B2C (personal workspace only).
06
Admin Dashboard
User impersonation, audit log, org management. nFADP data register at /admin/data-register.
07
Content
Marketing, docs, and legal pages in MDX. One layer for everything public-facing.
08
UX Patterns
shadcn/ui. Loading, empty, and error states. Toast system. Onboarding flow.
09
Background Jobs
Postgres-backed queue, supercronic cron sidecar, retry logic, dead-letter handling, job status tracking.
10
API Keys
Org-scoped keys with scopes, expiry, last-used tracking, and per-key rate limiting. A leaked key throttles automatically.
11
Feature Flags
Unleash (self-hosted). Server- and client-side evaluation. Plan-gating integration. Env-var override always wins.
12
Infra & Observability
GlitchTip (self-hosted, Sentry DSN compatible), Exoscale Redis rate limits on every authenticated endpoint, t3-env validation, RLS. Optional: macOS Keychain for secrets.
13
AI Integration
Mistral AI (FR) as primary provider. Optional Anthropic, OpenAI, Google fallbacks. Per-org credits ledger, usage tracking, per-org rate limits.
14
Analytics
Matomo (self-hosted, cookie-free). nFADP compliant. No consent banner required. No US data transfer.
15
i18n
next-intl. German, French, Italian, and English out of the box — the four Swiss national languages. Server and client rendering both supported.
16
Security
Friendly Captcha (DE, privacy-first), per-request CSP nonces, HSTS, SSRF-guarded outbound webhooks, AES-256-GCM secret-at-rest, anomaly detection, append-only audit trail. SCIM 2.0 as Enterprise add-on.
Get Already CH — CHF 199 → Solo CHF 199 · Team CHF 399 · one-time
Feature already (US stack) Already CH (CH stack) 🇨🇭
Billing Stripe (US) Payrexx (CH) · TWINT · PostFinance
Email Resend (US) Infomaniak SMTP (CH)
Analytics PostHog (US) Matomo (self-hosted, cookie-free)
Deployment Vercel (US) Exoscale + Coolify (CH/EU)
Rate limiting Upstash (US, HTTP) Exoscale Redis (TCP-native)
Feature flags PostHog (US) Unleash (self-hosted)
Error tracking Sentry (US) GlitchTip (self-hosted, Sentry DSN)
Captcha Vercel BotID (US) Friendly Captcha (DE, privacy-first)
AI primary Anthropic / OpenAI (US) Mistral AI (FR) + US fallbacks optional
Currency USD CHF · 8.1% VAT pre-wired
Data sovereignty US Switzerland / EU
nFADP compliance ❌ not built-in ✓ data register included
TWINT support ✓ via Payrexx
What does "Swiss-sovereign" mean?
Your data stays in Switzerland or the EU by default. Supabase runs self-hosted on Exoscale (Swiss/European IaaS), analytics via Matomo (self-hosted, cookie-free), email via Infomaniak (Swiss), and billing via Payrexx (Swiss). No US cloud sub-processors in the default configuration. You decide what, if anything, to add later.
Is Already CH nFADP compliant?
Already CH ships a built-in nFADP data register at /admin/data-register (Art. 12 processing activities, pre-populated). Matomo runs in cookie-free mode — no consent banner required. All default services are Swiss or EU-based. Pass the first audit without a rewrite.
Does Already CH support TWINT?
Yes. Billing is via Payrexx — a Swiss gateway that supports TWINT, PostFinance, credit cards, and most Swiss and European payment methods. CHF amounts in Rappen, 8.1% VAT, and idempotent webhooks are all pre-wired. Swiss customers expect TWINT; Already CH delivers it on day one.
Does Already CH work for B2C or only B2B?
Both. One config flag in config/app.ts switches between B2B mode (org switcher, invitations, team management) and B2C mode (one personal workspace per user, no team UI). Same database schema either way — flip later without a migration.
How is Already CH different from already?
Same codebase philosophy, same architecture, same quality bar — every US service replaced with a Swiss or European equivalent. Stripe → Payrexx, Resend → Infomaniak, PostHog → Matomo, Vercel → Exoscale + Coolify, Upstash → Exoscale Redis, Sentry → GlitchTip, Vercel BotID → Friendly Captcha. The result is an independently deployable, Swiss-sovereign SaaS base.
What currency does Already CH use?
CHF. All amounts are in Rappen (CHF cents). Swiss VAT of 8.1% is pre-wired in config/billing.ts. Payrexx handles currency conversion for international customers if you need it.
Can I self-host Already CH?
Yes — that's the point. Already CH uses Docker output:standalone. An Exoscale Marketplace QCOW2 image and a Coolify service seed JSON are included for one-click deployment. You can also run it on any VPS or bare metal that runs Docker.
Is Already CH open source?
One-time purchase, full source ownership. You buy a license, get access to a private GitHub repo, clone it, and own the code. No subscriptions, no royalties, no runtime licence checks. Same model as already.
wait, what.
Already CH is the production base we kept rebuilding for Swiss SaaS projects — with one requirement that the US-stack version couldn't meet: data stays in Switzerland.

Built for builders who care where their data lives. Every support email gets a response. If something is broken or missing, we want to know.
Discounts
30% off.
Students & Educators
Valid .edu address or verifiable student / faculty ID.
Swiss Non-profits
Association (Verein / Association) or foundation registered in Switzerland. Send your CHE-number.
already-ch@wait-what.shop · subject "discount"
Discount applied manually; a custom checkout link is sent within 24h.

What does building this yourself actually cost?

Auth, Payrexx billing, multi-tenant orgs, nFADP register, Matomo, Exoscale setup — none of these are weekend projects. Adjust your rate and see the real number.

26–51d saved
CHF 20,800 – 40,800 at your rate
Your rate: CHF/hr · all 12 features
Solo
CHF 199
one-time · full source ownership
🇨🇭 Swiss stack
1 developer seat
  • All 16 modules, full source
  • Payrexx + TWINT + PostFinance setup guide
  • Private GitHub repo invite
  • Exoscale + Coolify deployment guide
  • Lifetime v1.x updates
Buy Solo — CHF 199 →

Secured by Polar · CHF, EUR, USD accepted · Merchant of Record

Team
CHF 399
one-time · full source ownership
🇨🇭 Swiss stack
Up to 5 developer seats
  • Everything in Solo
  • 5 developer seats
  • Lifetime v1.x updates
Buy Team — CHF 399 →

Secured by Polar · CHF, EUR, USD accepted · Merchant of Record

Enterprise add-on
CHF 299
one-time · stacks on Solo or Team
Optional
Sell Already CH products to enterprise buyers
  • SCIM 2.0 endpoint — Okta, Entra, Workspace
  • SAML SSO recipe wired to Supabase Auth
  • Org-wide MFA mandate — toggle in admin UI
  • SOC 2-aligned audit log retention guide
Buy Enterprise add-on — CHF 299 →

Secured by Polar · CHF, EUR, USD accepted · Merchant of Record