Accounts and security
Email and password with verification, GitHub and Google, two-factor and passkeys, session management, rate limits.
Starterdough is a Bun-native SaaS starter built on Svelte. It ships auth, organizations, teams, workspaces, billing, an admin surface and a document pipeline with metered AI jobs. Build once, then serve it as a website, an installable PWA, a desktop app, a mobile app, or a self-hosted stack.
It has one architectural rule: a single source of truth over HTTP. The SvelteKit app, the Tauri shells, the Astro sites and scripts are all thin clients of one API (Hono + oRPC on Bun). They share the same auth, the same procedures and the same OpenAPI document. Only the API talks to Postgres.
Accounts and security
Email and password with verification, GitHub and Google, two-factor and passkeys, session management, rate limits.
Organizations, teams, workspaces
The organization is the tenant and billing entity. Workspaces hold the product data. Roles are defined once and enforced in the API. Every mutation is audited.
Billing and admin
Stripe with the organization as the customer and seats that follow members. A platform admin surface for users, tenants, feature flags and system health.
Documents and AI jobs
Presigned uploads with a per-workspace storage quota, a Postgres job queue that extracts, summarizes and indexes them, semantic search over pgvector, OCR for images, and work metered in credits against the plan.
Anywhere
One SvelteKit codebase for Node, Cloudflare Workers or a static SPA. Tauri 2 shells with no IPC. Docker Compose with Caddy and Tailscale for your own server.