Kärnstacken
Frontend: WeWeb — pixelperfekt UI, ansluter till valfri backend, driftsätts på din egen domän via Cloudflare CDN.
Databas + Auth: Supabase — PostgreSQL, Row-Level Security, realtidsprenumerationer, fillagring.
Affärslogik + API: Xano — REST API-byggare, anpassad affärslogik, tredjepartsintegrationer, webhooks.
Betalningar: Stripe — prenumerationer, fakturor, webhooks tillbaka till Xano.
E-post: Resend eller SendGrid — transaktionella e-postmeddelanden utlösta av Xano.
Denna stack hanterar 10 000 MAU utan att svettas. Vi har kört den på 50 000 MAU utan infrastrukturändringar. För svenska SaaS-bolag som riktar sig mot nordiska B2B-kunder är detta en beprövad och vältestad grund.
Multi-tenancy med Supabase RLS
Varje tabell har en workspace_id-kolumn. Alla Row-Level Security-policyer filtrerar på workspace_id = auth.jwt() ->> 'workspace_id'.
Användare tillhör arbetsplatser via en workspace_members-tabell med en rollkolumn (owner, admin, member). När en användare loggar in innehåller JWT deras workspace_id och roll — Supabase tillämpar detta automatiskt på databasnivå.
Detta är det viktigaste arkitekturbeslutet i en B2B SaaS. Gör det rätt från dag 1. Vi har sett bolag som skippat detta i valideringsfasen och sedan behövt en fullständig databasmigrering när de fick sina första företagskunder — en kostsam process som App Studio gärna hjälper dig undvika.
Faktureringsarkitektur med Stripe
I Xano skapar du en webhooks-endpoint som tar emot Stripe-händelser. Hantera: checkout.session.completed (skapa prenumerationspost), customer.subscription.updated (uppdatera plan), invoice.payment_failed (begränsa åtkomst).
Lagra prenumerationsstatus i en workspace_settings-tabell. I WeWeb kontrollerar du prenumerationsstatus innan premium-funktioner renderas — och i Supabase RLS-policyer för databegränsningar.
Lita aldrig på frontenden för fakturerings-gates. Verifiera alltid i databasen. För svenska kunder som faktureras i SEK: Stripe stöder SEK-prissättning och automatisk momshantering för svenska moms (25 %), vilket förenklar redovisningen avsevärt.
Prestandaoptimering
Indexstrategi: indexera varje främmande nyckel, varje status/typ-kolumn som används i filter och varje kolumn du sorterar efter. I Supabase tar detta 2 minuter i SQL-redigeraren.
Paginering: alla listendpoints måste paginera. Returnera aldrig obegränsade frågor. Använd markörsbaserad paginering för realtidsdata (oändlig scroll) och offset för admintabeller.
Caching: Xano stöder svarscaching för endpoints som returnerar samma data för alla användare (offentligt innehåll, uppslagstabeller). Använd det aggressivt. En välcachad Xano-endpoint kan hantera tusentals anrop per sekund utan att belasta Supabase.
Övervakning och felhantering
Lägg till Sentry i din WeWeb-anpassade kod för frontend-fel. Xano loggar alla API-begäranden — exportera dem till Datadog eller använd Xanos inbyggda felövervakning.
För kritiska bakgrundsjobb (faktureringswebhooks, e-postutlösare), lägg till felnotiser till Slack via Make. Du bör veta om fel innan dina användare gör det.
Databas-övervakning: Supabase tillhandahåller insikter om frågerestanda. Granska långsamma frågor varje vecka. En vanlig orsak till prestandadegradation i tillväxtbolag är frågor som fungerar bra vid 100 rader men är katastrofalt långsamma vid 100 000 — tidig indexering eliminerar detta problem.