# supastack > supastack is a modular foundation for AI SaaS products — a Next.js web app, > an Expo mobile app, and a Tauri desktop shell over shared TypeScript modules > (auth, workspaces, billing, AI, jobs, email, storage, observability). Documentation links ending in .md return plain Markdown without presentation markup. Append `.md` to any documentation or blog URL, or send `Accept: text/markdown`, to receive its Markdown twin. ## Agent Resources - [Documentation index](https://supastack.dev/llms.txt): Concise index of all documentation guides and blog articles - [Full documentation corpus](https://supastack.dev/llms-full.txt): Every documentation guide and blog post in a single Markdown file - [Agent skill](https://supastack.dev/skill.md): Capability summary and operating guide for coding agents working with supastack - [Agent skills discovery](https://supastack.dev/.well-known/agent-skills/index.json): Machine-readable agent-skills 0.2.0 manifest with SHA-256 content digests ## Documentation - [Ship in 5 minutes](https://supastack.dev/docs/web/ship-in-5-minutes.md): Run the Web demonstration on your computer with exact Windows and macOS commands, no paid provider credentials, and a clear path to real database-backed accounts. - [Before you start](https://supastack.dev/docs/web/before-you-start.md): Install Node.js, Git and an editor, accept your repository invitation, download the kit and check your computer is ready for the first run. - [Commands, files and configuration](https://supastack.dev/docs/web/terminal-basics.md): Learn where to paste commands, how to open the correct project folder, edit .env files, stop a server and report a setup error without sharing secrets. - [Let an agent set it up](https://supastack.dev/docs/web/agent-setup.md): Paste one ready-made prompt into a coding agent, let it run the Web setup on your computer, and check the report it writes about each step. - [Introduction](https://supastack.dev/docs/web.md): What supastack is, what you get, and the path to a running app. - [Tech stack](https://supastack.dev/docs/web/tech-stack.md): The technologies behind the kit and the role each one plays. - [Local setup](https://supastack.dev/docs/web/local-setup.md): Run the Web demonstration on your computer with exact Windows and macOS commands, no paid provider credentials, and a clear path to real database-backed accounts. - [Project structure](https://supastack.dev/docs/web/project-structure.md): Find the application, shared packages, and the boundaries between them. - [Configuration](https://supastack.dev/docs/web/configuration.md): Keep application configuration explicit and provider credentials on the server. - [Build your first feature](https://supastack.dev/docs/web/first-feature.md): An end-to-end walk from schema to shipped screen. - [Build with a coding agent](https://supastack.dev/docs/web/agents.md): Hand tasks to a coding agent: the files it reads, the pasteable prompt library, unattended setup, and the review that keeps you in control. - [Create your external accounts](https://supastack.dev/docs/web/external-accounts.md): The master checklist: which outside services the kit can use, what each one gives you, and the order to create them in. - [Add Google sign-in](https://supastack.dev/docs/web/google-sign-in.md): Create a free Google Cloud OAuth client and wire Continue with Google into the app. - [Add GitHub sign-in](https://supastack.dev/docs/web/github-sign-in.md): Create a GitHub OAuth App per environment and wire Continue with GitHub into the app. - [Add Apple sign-in](https://supastack.dev/docs/web/apple-sign-in.md): Register an App ID, a Services ID, and a Sign in with Apple key in the Apple Developer portal, then wire the client pair into the app. - [Add Stripe payments](https://supastack.dev/docs/web/stripe-payments.md): Create a free Stripe account, a product with a recurring price, a secret key, and the signed webhook that grants entitlements after checkout. - [Add Resend email](https://supastack.dev/docs/web/resend-email.md): Create a free Resend account, verify a sending domain, and switch EMAIL_PROVIDER so codes and receipts reach real inboxes. - [Set up Amazon SES email](https://supastack.dev/docs/web/aws-ses.md): Set up Amazon SES email for web, mobile and desktop with AWS SDK credentials or IAM SMTP, verify your sender, and avoid unnecessary Mail Manager endpoint fees. - [Collect the remaining provider keys](https://supastack.dev/docs/web/provider-keys.md): Short walkthroughs for the services left: AI providers, Trigger.dev, S3 storage, Sentry or PostHog, Turnstile, and your domain. - [Deploy to Google Cloud](https://supastack.dev/docs/web/deploy-google-cloud.md): Build the kit's Docker image on Cloud Build, run it on Cloud Run with managed secrets, and put it on your domain. - [Set up database](https://supastack.dev/docs/web/setup-database.md): Local Postgres or a managed Supabase project — then run the migrations. - [Set up payments](https://supastack.dev/docs/web/setup-payments.md): Pick a billing adapter and wire its signed webhook to entitlements. - [Set up email](https://supastack.dev/docs/web/setup-email.md): Transactional delivery: pick a provider, verify a sender, preview every template. - [Set up OAuth sign-in](https://supastack.dev/docs/web/setup-oauth.md): Google, Apple, GitHub, Microsoft, and Twitter — one flag plus a client pair each. - [Set up AI](https://supastack.dev/docs/web/setup-ai.md): Real models behind cheap / fast / smart aliases — keys stay on the server. - [Set up background jobs](https://supastack.dev/docs/web/setup-jobs.md): Durable tasks through Trigger.dev — plus the local scheduler tick. - [Set up file storage](https://supastack.dev/docs/web/setup-storage.md): Workspace-scoped uploads on memory or any S3-compatible bucket. - [Set up observability](https://supastack.dev/docs/web/setup-observability.md): Error tracking, product analytics, and failure alerts — all optional. - [Set up custom domains](https://supastack.dev/docs/web/setup-domains.md): Let workspaces serve the app on their own hostnames via Cloudflare for SaaS. - [Authentication](https://supastack.dev/docs/web/authentication.md): Sign-in methods, sessions, and account security. - [Organizations and invites](https://supastack.dev/docs/web/organizations.md): Ship the demo-style org loop: create, switch, invite, roles, leave, and danger-zone delete. - [Onboarding flow](https://supastack.dev/docs/web/onboarding.md): The gated path from sign-up to an active workspace and plan. - [Payments and subscriptions](https://supastack.dev/docs/web/billing.md): Stripe checkout, plan management, and the entitlement boundary. - [Database and migrations](https://supastack.dev/docs/web/database.md): Prepare Postgres and evolve the Drizzle schema with committed migrations. - [Public API, keys and webhooks](https://supastack.dev/docs/web/api.md): The versioned REST surface your customers build against. - [File storage](https://supastack.dev/docs/web/storage.md): Workspace-scoped uploads through the object-storage contract. - [AI features](https://supastack.dev/docs/web/ai.md): Chat, tasks, model policy, and bring-your-own-key. - [Background jobs](https://supastack.dev/docs/web/jobs.md): Durable work through the JobRunner contract and Trigger.dev. - [Email and mailing](https://supastack.dev/docs/web/email.md): Transactional templates, preview tooling, and provider adapters. - [Notifications](https://supastack.dev/docs/web/notifications.md): In-app notices, per-user preferences, and admin announcements. - [Account and security](https://supastack.dev/docs/web/account.md): Profile, sessions, passkeys, data export, and deletion. - [Content management](https://supastack.dev/docs/web/content.md): Typed CMS entries with a free lifecycle and a public read boundary. - [Commerce](https://supastack.dev/docs/web/commerce.md): Workspace products and orders on a forward-only lifecycle. - [Marketing pages](https://supastack.dev/docs/web/marketing-site.md): Landing sections, legal pages, FAQ, changelog, and the site config. - [SEO and sharing](https://supastack.dev/docs/web/seo.md): Metadata, sitemap, robots, and social images. - [Product theme](https://supastack.dev/docs/web/theming.md): Customize kit product chrome for your SaaS — without editing the marketing brand theme. - [UI kit and blocks](https://supastack.dev/docs/web/ui-kit.md): Shared components, design tokens, and the block catalog. - [Locales and copy](https://supastack.dev/docs/web/i18n.md): Use the four-locale dictionary scaffold for app chrome, settings labels, mail, and notification events. - [Writing blog articles](https://supastack.dev/docs/web/blog-content.md): Publish local, typed articles with working categories and guide links. - [Product documentation](https://supastack.dev/docs/web/docs-site.md): The dedicated docs app that ships with the kit. - [Feature flags and announcements](https://supastack.dev/docs/web/feature-flags.md): Roll out dark, gate per workspace, and broadcast to members. - [Security and privacy](https://supastack.dev/docs/web/security.md): Rate limits, secrets, data export, and the audit trail. - [Spam protection](https://supastack.dev/docs/web/captcha.md): Env-switched Turnstile checks on public forms and auth endpoints. - [Admin console](https://supastack.dev/docs/web/admin.md): Platform inspection, announcements, and feature flags. - [Testing strategy](https://supastack.dev/docs/web/testing.md): Understand what deterministic, browser, database, and provider checks establish. - [Deployment checklist](https://supastack.dev/docs/web/deployment.md): Prepare the production dependencies and verify the flow you intend to ship. - [Troubleshooting](https://supastack.dev/docs/web/troubleshooting.md): Diagnose setup problems at the boundary that actually failed. - [How to use these docs](https://supastack.dev/docs/web/using-the-docs.md): Find your way around the documentation — tabs, groups, search and section links — and hand any guide to a coding agent with the built-in copy tools. - [Words you will see](https://supastack.dev/docs/web/glossary.md): Plain-language definitions for the terms the setup guides, error messages and the product itself use. - [Update your copy when the kit improves](https://supastack.dev/docs/web/updating-the-kit.md): Bring improvements from the source repository into your copy — record your starting point, fetch the new revision, merge it on a branch and verify before deploying. - [Ship mobile in 5 minutes](https://supastack.dev/docs/mobile/ship-in-5-minutes.md): Open the Expo app on a phone or simulator, configure an API address the device can reach, and distinguish a UI preview from real sign-in and native purchases. - [Mobile overview](https://supastack.dev/docs/mobile.md): An Expo surface connected to the same server-owned foundation. - [Run the mobile app](https://supastack.dev/docs/mobile/local-setup.md): Connect Expo to a reachable development API. - [Native authentication](https://supastack.dev/docs/mobile/authentication.md): Handle the browser return path and stored sessions on mobile. - [Mobile API](https://supastack.dev/docs/mobile/api.md): How the app talks to the server — sessions, reachability, and payloads. - [Native UI and theming](https://supastack.dev/docs/mobile/ui.md): Screen primitives and shared view-models that mirror the web's design decisions. - [Mobile entitlements](https://supastack.dev/docs/mobile/entitlements.md): Configure RevenueCat purchases and keep access decisions on the server. - [Create mobile accounts](https://supastack.dev/docs/mobile/external-accounts.md): Expo, Apple, Google Play, and RevenueCat accounts — what each one is for and when to create it. - [Set up RevenueCat purchases](https://supastack.dev/docs/mobile/revenuecat.md): Create a RevenueCat project, link your App Store and Play products, and wire the SDK keys plus server secrets that verify purchases. - [EAS setup](https://supastack.dev/docs/mobile/eas-setup.md): Connect the project to Expo Application Services and produce your first build. - [Build and device verification](https://supastack.dev/docs/mobile/builds.md): Separate a successful Expo export from release readiness. - [Store publishing](https://supastack.dev/docs/mobile/publishing.md): Separate a working build from a release users can install. - [Run desktop in 5 minutes](https://supastack.dev/docs/desktop/ship-in-5-minutes.md): Prepare Rust and your operating system's build tools, start a reachable Web backend, launch the Tauri window and verify tray, shortcut and local task behavior. - [Desktop overview](https://supastack.dev/docs/desktop.md): A Tauri webview shell around the same web app — presence, not a second product. - [Run and configure the shell](https://supastack.dev/docs/desktop/run.md): Launch the Tauri dev shell and point it at your web app. - [Create desktop release accounts](https://supastack.dev/docs/desktop/external-accounts.md): Apple signing and notarization credentials, Windows code-signing options, and the hosted backend a released shell needs. - [Bundle and release](https://supastack.dev/docs/desktop/release.md): Produce installers and keep release evidence separate from a successful build. - [Code signing](https://supastack.dev/docs/desktop/signing.md): Sign installers so macOS and Windows stop warning your users. - [Module overview](https://supastack.dev/docs/modules.md): Small contracts that make the infrastructure easier to understand and reuse. - [Environment and config](https://supastack.dev/docs/modules/config.md): One validated schema for the whole workspace. - [i18n module](https://supastack.dev/docs/modules/i18n.md): The locale contract every surface shares. - [Workspaces](https://supastack.dev/docs/modules/workspaces.md): Scope every user-owned record by workspaceId. - [Authentication](https://supastack.dev/docs/modules/auth.md): Identity and sessions through Better Auth. - [Billing and access](https://supastack.dev/docs/modules/billing.md): Separate payment events from authorization decisions. - [Stripe configuration and webhooks](https://supastack.dev/docs/modules/billing-configuration.md): Connect web subscriptions to server-owned entitlements. - [Database module](https://supastack.dev/docs/modules/database.md): The Drizzle schema and persistence helpers every record flows through. - [Storage module](https://supastack.dev/docs/modules/storage.md): One ObjectStorage contract, memory and S3-compatible adapters. - [API module](https://supastack.dev/docs/modules/api.md): The versioned public contract, key plumbing, and OpenAPI surface. - [Rate limiting](https://supastack.dev/docs/modules/rate-limiting.md): One limiter for every abuse-sensitive route. - [AI and background jobs](https://supastack.dev/docs/modules/ai.md): From an authorized request to a durable result. - [AI providers and model policy](https://supastack.dev/docs/modules/ai-configuration.md): Configure server-owned providers and the aliases exposed to users. - [Task API and recovery](https://supastack.dev/docs/modules/task-recovery.md): Recover an uncertain submission without creating a new task. - [Trigger.dev jobs](https://supastack.dev/docs/modules/jobs.md): Keep durable workflow behavior explicit. - [Scheduled tasks](https://supastack.dev/docs/modules/schedules.md): Recurring workspace work through the schedule actions. - [Transactional email](https://supastack.dev/docs/modules/email.md): Delivery for authentication and product workflows. - [Email provider configuration](https://supastack.dev/docs/modules/email-configuration.md): Configure transactional delivery and verify its independent outcome. - [Audit, analytics and errors](https://supastack.dev/docs/modules/observability.md): Understand activity with workspace context and sanitized event data. - [Skills](https://supastack.dev/docs/skills/overview.md): Ready-made instructions that teach your coding agent how to do common supastack jobs the way the kit expects. ## Blog - [supastack vs TurboStarter](https://supastack.dev/blog/supastack-vs-turbostarter.md): Both ship web and mobile from one monorepo. supastack adds desktop, API keys, webhooks and 144 test files; TurboStarter adds a browser extension. A side-by-side look. - [supastack vs MkSaaS](https://supastack.dev/blog/supastack-vs-mksaas.md): MkSaaS is a polished Next.js starter with credits and Chinese support. supastack adds mobile, desktop, team workspaces, API keys and webhooks. Here is how they compare. - [supastack vs ShipAny](https://supastack.dev/blog/supastack-vs-shipany.md): ShipAny wires in many AI model providers with credits, RBAC and affiliate tools. supastack brings teams, mobile, desktop, BYOK budgets, API keys and 144 test files. A side-by-side comparison. - [supastack vs Indie Kit Pro](https://supastack.dev/blog/supastack-vs-indie-kit.md): Indie Kit Pro is a feature-rich Next.js starter with credits, lifetime-deal redemption and six payment providers. supastack adds teams, mobile, desktop, API keys and a 144-file test suite. - [supastack vs Indie Kit B2B](https://supastack.dev/blog/supastack-vs-indie-kit-b2b.md): Both give you organizations, invites and per-team billing. supastack adds mobile, desktop, API keys, webhooks, audit log and 144 test files on Better Auth. A side-by-side comparison. - [supastack vs TanStarter](https://supastack.dev/blog/supastack-vs-tanstarter.md): TanStarter runs a lean TanStack Start app on Cloudflare Workers. supastack is a tested Next.js + Expo + Tauri monorepo with teams and integrations. How to choose. - [supastack vs AnotherWrapper](https://supastack.dev/blog/supastack-vs-anotherwrapper.md): AnotherWrapper ships eight ready AI app screens and seven model providers. supastack ships teams, mobile, API keys, BYOK budgets and a 144-file test suite. Which do you need? - [Building a SaaS with a coding agent: a practical workflow](https://supastack.dev/blog/building-saas-with-a-coding-agent.md): From a useful brief to a reviewed change. Give your coding agent the context, boundaries, and feedback it needs to build something you can maintain. - [How to choose a SaaS stack you can keep shipping with](https://supastack.dev/blog/choosing-a-saas-stack.md): Frameworks are only part of the decision. Evaluate the whole path from identity and data to background work, deployment, and everyday maintenance. - [Starter kit or from scratch? Decide what you want to own](https://supastack.dev/blog/starter-kit-or-from-scratch.md): A practical way to evaluate a boilerplate: inspect its boundaries, run its recovery paths, and understand the maintenance you are taking on. - [A SaaS launch checklist that goes beyond the homepage](https://supastack.dev/blog/saas-launch-checklist.md): Verify sign-in, customer data, paid access, failed tasks, and support paths before inviting people into your product. - [SaaS authentication is more than a login form](https://supastack.dev/blog/authentication-beyond-the-login-form.md): Follow identity through sessions, workspace ownership, protected actions, and sign-out — the parts a polished sign-in screen cannot prove. - [A foundation you can build on.](https://supastack.dev/blog/a-foundation-for-your-next-product.md): The thinking behind supastack: shared infrastructure, clear boundaries, and room for your product to be its own thing. - [Your workspace is a security boundary.](https://supastack.dev/blog/workspace-boundaries.md): Why ownership checks belong in every read and write, and why a task URL should never grant access. - [An AI request is only the beginning.](https://supastack.dev/blog/from-ai-request-to-result.md): Follow a task through authorization, durable execution, usage tracking, and a result the user can return to. ## Site - [Homepage](https://supastack.dev/) - [Pricing](https://supastack.dev/#pricing) - [Changelog](https://supastack.dev/changelog) - [Blog](https://supastack.dev/blog) - [Showcase](https://supastack.dev/showcase) - [Contact](https://supastack.dev/contact)