Short version: If your customers are global, US-based, or you want the broadest payment-method coverage, already (Stripe, Vercel, PostHog) is the right choice. If your customers are Swiss or European and care where their data sits — or you need TWINT, CHF billing, and a built-in nFADP register — Already CH is the right choice. Same code quality, same module set. Different jurisdiction.

Stack comparison

Layer already (US) Already CH (CH 🇨🇭)
Infrastructure
HostingVercel (US)Exoscale + Coolify (CH/EU)
DatabaseSupabase Cloud (US/EU)Supabase self-hosted on Exoscale (CH)
Redis / rate limitsUpstash (US)Exoscale Redis (CH)
CDN / edgeVercel Edge (global)Caddy + Exoscale (EU edge)
Billing
Payment processorStripe (US)Payrexx (CH)
Default currencyUSDCHF
TWINT
PostFinance
Swiss VAT (8.1%) pre-wired
Apple Pay / Google Pay✓ (Stripe)✓ (Payrexx)
Email + Auth
Transactional emailResend (US)Infomaniak SMTP (CH)
Supabase Auth
TOTP + Passkeys
Org-wide MFA mandate
Observability + Analytics
AnalyticsPostHog (US)Matomo self-hosted (CH)
Cookie-free analytics mode✓ (no consent banner)
Error trackingSentry (US)GlitchTip self-hosted (CH)
Feature flagsPostHog flags (US)Unleash self-hosted (CH)
Bot protectionVercel BotID (US)Friendly Captcha (DE)
AI integration
Primary AI providerAnthropic / OpenAI (US)Mistral AI (FR)
US fallbacks (optional)✓ default✓ opt-in
Compliance
nFADP data register UI✓ /admin/data-register
GDPR export + deletion endpoints
No US sub-processors (default)✓ (GitHub aside, for delivery)
Pre-written privacy policyUS/GDPRnFADP + GDPR
Module count + pricing
Modules1616
SoloUSD 199CHF 199
TeamUSD 399CHF 399
Enterprise add-onUSD 299CHF 299
StudentUSD 99CHF 99

Data residency

already (US)

Data lives wherever the underlying SaaS providers put it: Supabase Cloud picks a US or EU region per project; Vercel functions run on global edge; Stripe holds card data in the US; PostHog can be EU-hosted but defaults to US. For most SaaS buyers worldwide this is fine.

Already CH CH 🇨🇭

Every default service is Swiss or European. Supabase runs on Exoscale in Geneva or Zurich. Email goes through Infomaniak. Payments through Payrexx in Thun. Analytics on Matomo on your own Exoscale VM. If you ever need to prove to a Swiss customer where their bytes live, you can — with a screenshot.

Payment methods

already (US)

Stripe gives you the broadest global card network coverage, Klarna, Afterpay, and several European wallets via Stripe's local payment methods. No TWINT. No PostFinance.

Already CH + TWINT

Payrexx ships TWINT (the dominant Swiss mobile payment), PostFinance, Swiss credit cards, plus the usual Visa/Mastercard/AmEx and Apple Pay / Google Pay. Approximately 60% of Swiss SaaS customers expect TWINT at checkout. With Already CH you have it on day one.

Compliance

already (US)

Ships GDPR-compliant data export and deletion endpoints. Privacy policy template assumes US Merchant of Record (Polar.sh). Good enough for the global market — needs Swiss-specific work if you sell in CH.

Already CH nFADP

Ships an admin-panel nFADP data register at /admin/data-register, pre-aligned to Art. 12. Privacy policy template references nFADP Art. 19 (information obligation) and Art. 25 (right of access). Matomo runs cookie-free so no consent banner is needed. Designed to pass a Swiss DPO's audit without rewrites.

Pricing in CHF

If you're invoicing Swiss B2B customers, charging in USD via Stripe creates friction: customers get FX losses, Stripe charges currency conversion, and your accountant has to convert again for the Swiss VAT return. Payrexx settles in CHF directly into a Swiss bank account, with Swiss VAT pre-calculated at 8.1% in config/billing.ts.

Who should use what

Use already (US) when

  • Your customers are global or US-based
  • You're a global SaaS not selling primarily in CH/EU
  • You want Stripe's specific feature set (e.g. Connect, Issuing)
  • Vercel's deploy-from-git workflow matters to you
  • You prefer Anthropic or OpenAI as default AI provider
  • You don't have EU/CH data-residency obligations

Use Already CH when

  • Your customers are Swiss or German-speaking and expect TWINT
  • You need to prove data stays in Switzerland or the EU
  • nFADP audit risk is a real concern
  • You're a Swiss commercial entity needing 8.1% VAT pre-wired
  • You want to avoid US sub-processors as a matter of principle
  • Mistral AI as primary provider works for you

Can I switch later?

Yes. The codebases are siblings: same Next.js, same Supabase, same Drizzle, same shadcn/ui. Switching from already (US) to Already CH (or back) is a matter of swapping a handful of integrations — Stripe ↔ Payrexx, Resend ↔ Infomaniak, PostHog ↔ Matomo. The application code, routes, components, and database schema are unchanged.

The honest comparison

Already CH is not a "better" already. It's a sibling product for a different customer base. If you're building global SaaS, already is the correct choice — the US-stack defaults have the widest reach and the best documentation. If you're building for Switzerland or the EU and your customers care where their data lives, Already CH removes a week of integration work and a year of compliance uncertainty.

Same shop, same author, same code quality. Pick the stack your customers expect.