Production-grade TypeScript SaaS in a box.
- Last update
- —
- Last 30 days
- 0 commits
- License
- Commercial
Features
The capabilities that make this a production starter, not a tutorial.
Auth + RBAC out of the box
Better Auth with email/password, OAuth, 2FA, and an organization plugin. Roles enforced at the oRPC middleware so every multi-tenant query filters by organizationId automatically.
Hexagonal per domain
Each business domain is its own package with domain / application / infrastructure layers. The interface (oRPC routes, Temporal workflows) lives in the consuming app — domain code stays portable.
Workflows that don't lose data
Temporal handles durable execution, retries, and replay. Activities call the same Effect-based use cases your routes do — one runtime, two adapters.
Postgres-first persistence
Prisma schema with Better Auth tables, Stripe subscription mirror, audit log, webhook endpoints. Single Postgres container hosts every database the stack needs.
Outbound webhooks
Per-organization endpoints with HMAC-signed payloads. Use cases dispatch events; delivery is best-effort with retry policies declared at the workflow level.
Security gates by default
Strict TypeScript, Zod at every boundary, oRPC contracts with typed errors, rate limiting on auth, audit log helper, OWASP-style headers. Fail fast on missing config.
Observability included
OpenTelemetry across api, worker, and web. Self-hosted otel-collector in compose; swap the exporter for your backend when you have one.
Deploy anywhere compose runs
Multi-stage Dockerfile builds api, worker, web, and migrate images. Same compose.yml drives dev, CI, and prod via profiles. Dokploy is the recommended host; nothing locks you in.
Pricing
One-time payment. Full source. No subscription, no per-seat lock-in.
one-time, no future updates
- MIT-licensed for your single project
- Full source — every workspace, every gate
- Source-available updates for 30 days
- Discord channel for fellow buyers
one-time, every future update
- Unlimited projects
- Every future update — new locales, new domains, new gates
- Priority issue triage on the public tracker
- Discord with direct access to the maintainer
scoped to your team
- Everything in Lifetime
- Onboarding session for your team
- Architecture review of your fork
- Hourly or retainer billing