SsuperslateDocs

Tech stack

The technologies and responsibilities behind the SaaS Boilerplate.

The stack is intentionally split by responsibility. Your browser app, API, shared contracts, provider adapters, and operational tooling can evolve independently without losing type safety.

React 19Product UI
Bun + HonoTyped API runtime
PostgreSQLDurable data
Better AuthIdentity & sessions
ZodShared contracts
PolarBilling adapter
ResendTransactional email
BunBuild & test runtime

Choose the layer you are working in

Work in apps/web for product screens, React Router routes, TanStack Query server state, and narrowly scoped Zustand client state. Browser code never owns authorization or provider secrets.

LayerTechnologyWhy it is here
Web appReact 19, React Router, Vite+Fast client application with explicit route and module boundaries.
Client dataTanStack Query, ZustandServer-state caching and narrowly scoped client state.
APIBun, Hono, Hono RPCA compact typed HTTP API and direct end-to-end contract inference.
ValidationZodShared request and response schemas in packages/contracts.
DataPostgreSQL 18, dbmate, parameterized SQLDurable schema history without hiding database behavior behind an ORM.
IdentityBetter AuthPassword, verification, reset, magic links, sessions, and optional Google OAuth.
BillingPolar, Stripe, or Dodo PaymentsOne selected provider behind a normalized entitlement contract.
EmailReact Email, ResendTyped templates, deterministic HTML, and local log fallback.
StorageCloudflare R2, Amazon S3, or GCSOwner-scoped, presigned uploads with server confirmation.
ObservabilityPino, optional Sentry, SlackStructured logs, protected error reporting, and operational alerts.
QualityTypeScript, Vite+, Bun test, PlaywrightFast feedback plus deterministic workspace verification.

What is deliberately not included

Version one does not include multi-tenant organizations, generic background jobs, durable queues, file malware scanning, or automatic compliance controls. Add those only when your product needs them and after choosing the right ownership and operational model.

Rate limits are shared

The included Hono endpoint limiters use atomic Postgres fixed windows, so configured budgets are shared across API replicas. Provider and infrastructure limits still need capacity and abuse proof before raising replica counts.

Continue with Project structure to see where each concern lives.

On this page