Better Auth
Verified sessions, magic links, social providers, recovery, onboarding, and platform roles.
Authentication, workspaces, projects, billing, content, feedback, AI, email, media, and realtime—built on React Router, TanStack Query, Better Auth, and Cloudflare D1.
Workers-native · Tenant-safe · Retryable by default
Pending approval
Updated 12 minutes ago
A modern stack with deliberately boring boundaries
Each capability is implemented as a real workflow with explicit ownership, observable failure states, and Workers-compatible request handling.
Verified sessions, magic links, social providers, recovery, onboarding, and platform roles.
Forward-only migrations, tenant-scoped data, tested triggers, and full-text search.
Versioned messages, leases, retries, idempotency, dead letters, and scheduled recovery.
Authorized uploads, durable object keys, lifecycle cleanup, and public content media.
Authenticated WebSockets fan out project, notification, and cache invalidation events.
Billing, CMS, feedback, roadmap, docs, notifications, AI, email, and administration.
Stripe, Resend, OpenAI, Unkey, Google, GitHub, and Twitter sit behind small adapters and idempotent jobs.
“The best starter is not the one with the most folders. It is the one whose invariants still hold after the product becomes real.”
Core Workers architecture, identity, D1 schema, tenant authorization, jobs, media, and deployment primitives.
Read the quickstartThe complete customer, administrator, content, billing, feedback, notification, AI, and operations surface.
Start buildingReplace provider adapters, extend projections, and ship domain features without surrendering your data model.
Review boundariesThe tenant boundary is explicit everywhere. That is the difference between a demo and a foundation I can trust.
We started on product flows instead of rebuilding auth, billing webhooks, invitations, and background jobs.
Workers compatibility is the default, not a deployment patch at the end of the project.
No. React Router renders directly on Cloudflare Workers. TanStack Query manages client caching, and loaders/actions own request-time data.
The product behavior is preserved through explicit D1 authorization, triggers, Queues, R2, Durable Objects, FTS5, and Cloudflare observability—not through API imitation.
Better Auth and the payment gateway are isolated behind application services. Application-owned user projections and billing records keep provider data from leaking across the product.
Mutations commit outbox records with application data. Versioned workers lease work, retry safely, record receipts, and move exhausted work to a dead-letter queue.
Keep the architecture, own the data, and turn platform months into product days.