Introducing Edge Kit: TanStack Start SaaS starter for Cloudflare
Edge Kit is a TanStack Start SaaS starter kit for Cloudflare Workers, with auth, Stripe billing, D1, R2, Queues, email, and AI deployed as one Worker.

We just launched Edge Kit, a TanStack Start SaaS starter kit for Cloudflare. It is a complete codebase for a SaaS that runs on Cloudflare Workers from the first line: sign-in, Stripe subscriptions, a D1 database, file uploads, background jobs, email, and streaming AI, already connected and deployed as a single Worker.
Most SaaS starters, including our own Core Kit, are Node.js apps backed by Postgres. You can deploy them to Cloudflare, but you are adapting an app built for a server to a runtime that isn't one, and you still sign up with separate vendors for email, storage, analytics, and feature flags. Edge Kit takes the opposite route. It starts from the Workers runtime and Cloudflare's own services, so local development, data, files, email, and deploys all live on one platform.
Edge Kit in short
Edge Kit is a production-ready SaaS starter kit built on TanStack Start and Cloudflare Workers. It ships Better Auth sign-in, Stripe subscriptions, a D1 database with Drizzle, R2 storage, Queues, Cloudflare email, a Workers AI chat, and English and Spanish translations, all deployed as one Worker. It is web-only, built for individual customer accounts, and costs $249 once with lifetime updates.
Launch week: $50 off until October 14
Edge Kit went live on October 7, 2026, and it is $199 instead of $249 until Wednesday, October 14, 2026, at 17:00 UTC. The code EDGE is applied automatically at checkout and also takes $50 off the All-in-One bundle. Already a TurboStarter customer? Claim your code in the dashboard to get Edge Kit for $159. See pricing.
Watch the 42-second launch video:
Prefer to click around yourself? The live demo covers the marketing site, sign-in, account settings, billing, and the streaming AI chat:
What's inside Edge Kit
Edge Kit covers the parts of a SaaS that customers never pay for directly but every product needs: accounts, payments, data, files, email, background work, and an AI foundation. Each one connects to a Cloudflare service through a Wrangler binding, so your features call typed APIs instead of juggling third-party SDKs and API keys.
| Layer | Cloudflare service | What Edge Kit wires up |
|---|---|---|
| Runtime | Workers | Server rendering, server functions, HTTP routes, and queue consumers in one Worker |
| Database | D1 with Drizzle ORM | Accounts, sessions, subscriptions, and your own tables, with Wrangler migrations |
| File storage | R2 | Upload validation, ownership checks, and authenticated delivery |
| Cache | Workers KV | Helpers for cached public data and app settings |
| Background jobs | Queues | Typed jobs with delayed delivery and retries |
| Email Service | Localized React Email templates, sent directly or through a queue | |
| AI | Workers AI and AI Gateway | An authenticated streaming chat built with TanStack AI |
| Feature flags | Flagship | Typed flags with fallbacks and gradual rollouts |
| Abuse protection | Turnstile and Workers rate limiting | Bot checks on auth and contact forms, plus rate-limited auth actions |
| Observability | Workers observability and Web Analytics | Request IDs, logs, traces, source maps, and traffic analytics |
On top of that infrastructure, the product layer is already built:
- Authentication with Better Auth: email and password with verification and recovery, Google, GitHub, and Cloudflare sign-in, anonymous sessions, and account settings for profile, avatar, linked accounts, and active sessions.
- Subscription billing with Stripe: hosted checkout, monthly and yearly plans, optional trials, promotion codes, the customer portal, webhook-synced subscriptions, and server-side checks that gate features by plan.
- A marketing site with landing sections, pricing, a contact form, an MDX blog, legal pages, SEO metadata, sitemaps, and social previews.
- Internationalization in English and Spanish, with localized routes, language detection, and type-safe Paraglide messages for both the interface and emails.
- UI built on Kumo, Cloudflare's React component library on Base UI, with Tailwind CSS, light and dark mode, and TanStack Form with Zod validation.
- Testing and tooling: Vitest (with a project that runs inside the Workers runtime), Playwright across Chromium, Firefox, and WebKit, type-aware Oxlint and Oxfmt, envin for environment validation, and Renovate for dependency updates.
Every piece has a guide in the Edge Kit documentation: more than 60 pages that take you from local setup to a production deploy.
Why TanStack Start on Cloudflare Workers?
TanStack Start gives you full-stack React on Vite: file-based routes, server rendering, and typed server functions in one app. Cloudflare's Vite plugin runs that same app inside workerd, the open-source Workers runtime, so what you test locally is what you deploy. No adapter rewrites your build for production.
The two projects work closely together. TanStack's hosting guide lists Cloudflare Workers as an official partner, and Cloudflare maintains its own TanStack Start framework guide. For a SaaS, the combination pays off in three ways:
- Local development matches production.
pnpm devruns your Worker in workerd and simulates D1, KV, R2, Queues, and rate limits on disk. There is no Docker and no local Postgres. You can browse local tables, R2 objects, and KV values in Cloudflare's Local Explorer while you work. - Bindings replace vendor setup. Your code reads
DB,UPLOADS, orQUEUEfrom the Worker environment. Wrangler decides which database, bucket, or queue each name points to in every environment, andpnpm cf-typegenkeeps the types in sync. - Types run from route to database. TanStack Router types your URLs and search params, server functions validate input with Zod, and Drizzle types your queries. The data flow is explicit, which also makes it easier for a coding agent to follow.
Here is the pattern Edge Kit uses for protected reads, from the protected calls guide. The server function resolves the customer from the session, validates the input, and scopes the query to that customer:
import { createServerFn } from "@tanstack/react-start";
import { enforceAuth } from "@/lib/auth/middleware";
import { noteIdSchema } from "./notes.schema";
import { findNote } from "./notes.server";
export const getNote = createServerFn({ method: "GET" })
.middleware([enforceAuth])
.validator(noteIdSchema)
.handler(({ data, context }) => findNote(context.user.id, data.id));The client calls getNote({ data: { id } }) and never sends a user ID, so it cannot request another customer's record.
A note on TanStack Start's release status
As of October 2026, TanStack Start is a v1 release candidate, and its docs describe the API as feature-complete and stable. Edge Kit ships with a lockfile, a minimum release-age policy for new packages, and a monthly Renovate schedule, and kit updates arrive through a documented update workflow. You start from versions that work together instead of tracking every framework release yourself.
One Worker, one Cloudflare account
Edge Kit deploys your public website, customer dashboard, API endpoints, and queue consumer as a single Cloudflare Worker. Outside Cloudflare, the only accounts you need are Stripe and the OAuth providers you enable, plus a model provider if you route AI Gateway to one. Fewer accounts means fewer secrets to rotate and one dashboard to check when something breaks.
Every customer action follows the same path through the stack. The React interface collects input, a server function validates it and checks the session, the operation reads or writes the right Cloudflare resource, and the client refreshes the affected data. The architecture guide walks through that lifecycle in detail.
Going to production takes a handful of Wrangler commands and one deploy:
pnpm wrangler d1 create my-app-production
pnpm wrangler r2 bucket create my-app-uploads
pnpm wrangler queues create my-app-jobs
pnpm wrangler kv namespace create KV
# Add the resource IDs to wrangler.jsonc and set secrets with `wrangler secret put`
pnpm deploypnpm deploy builds the app, applies pending D1 migrations, and publishes the Worker. Connect the repository to Cloudflare's GitHub integration and every push to your production branch deploys, while pull requests get their own preview URLs. The deployment guide covers secrets, custom domains, and preview environments.
Built for coding agents
Most models still default to Next.js, ESLint, and barrel imports, and none of those fit this stack. Edge Kit ships the context that corrects them before the first edit: rules with the stack's gotchas, skills for each framework it uses, a review subagent, a feature scaffolding command, and a hosted docs MCP server.
AGENTS.mdrules, referenced fromCLAUDE.md, covering commands, project layout, how bindings work, and the mistakes that break a Worker build, like Node-only APIs or reading bindings from the wrongenv.- Skills for TanStack Start, TanStack Router, the wider TanStack ecosystem, Kumo, and Better Auth, plus React performance and web design guidelines.
- A read-only
code-reviewersubagent and a/setup-new-featurecommand that scaffolds a module the same way the billing module is built. - A docs MCP server at
https://www.turbostarter.dev/mcp, plus llms.txt, so Cursor, Claude Code, Codex, and other tools can search the Edge docs instead of guessing.
All of it works with any tool that reads AGENTS.md. The AI-assisted development guide shows the setup for each editor, and our boilerplate vs vibe coding guide explains why agents do better on top of a real foundation than in an empty repo.
Edge Kit vs Core Kit: which should you choose?
Choose Edge Kit for a web-only SaaS sold to individual customers that you want running entirely on Cloudflare. Choose Core Kit if you need organizations and teams, a mobile app or browser extension, PostgreSQL as your system of record, or a payment provider other than Stripe. Core can deploy to Cloudflare as well, through OpenNext.
| Edge Kit | Core Kit | |
|---|---|---|
| Framework | TanStack Start on Vite | Next.js App Router |
| Runtime | Cloudflare Workers, as one Worker | Node.js on any host, or Cloudflare Workers through OpenNext |
| Database | Cloudflare D1, with existing Postgres via Hyperdrive | PostgreSQL by default |
| Platforms | Web | Web, iOS and Android (Expo), browser extension |
| Accounts | Individual customers | Individual customers, plus organizations, invitations, and roles |
| Sign-in | Password, Google, GitHub, Cloudflare, anonymous | Password, OAuth, and anonymous, plus magic links, OTP, passkeys, and two-factor auth |
| Billing | Stripe subscriptions | Stripe, Lemon Squeezy, Polar, or Dodo Payments; one-time, metered, per-seat, and credits |
| Admin panel | Not included | Super admin with user impersonation |
A quick test: answer "where does it run, who pays, and how?" If the answers are "the web", "individual customers", and "Stripe subscriptions", and you want the whole product on Cloudflare, Edge Kit is the shorter path. If any answer differs, or might within a year, start with Core. The two kits are separate codebases, so switching later is a framework migration, not a config change.
Already on Core and only want Cloudflare hosting? Our guide to deploying TurboStarter to Cloudflare Workers covers the OpenNext and Hyperdrive setup. For the full decision across every kit, including AI Kit and OpenClaw Kit, see choose a kit.
What does it cost to run a SaaS on Cloudflare?
Edge Kit is a one-time purchase. Running it costs whatever your Cloudflare usage costs, which for most early SaaS products means the Workers Paid plan: a $5 per month account minimum that includes 10 million requests. Cloudflare's Email Sending is only available on Workers Paid, so budget for the paid plan from your first production deploy.
These allowances come from Cloudflare's Workers pricing page, checked in October 2026:
| Usage | Included with Workers Paid (per month) | Workers Free |
|---|---|---|
| Worker requests | 10 million, then $0.30 per million | 100,000 per day |
| D1 rows read | 25 billion | 5 million per day |
| D1 rows written | 50 million | 100,000 per day |
| D1 storage | 5 GB | 5 GB total |
| Queue operations | 1 million, then $0.40 per million | 10,000 per day |
A few more details matter for budgeting:
- No egress fees. Workers, D1, and R2 don't charge for data transfer, and requests to static assets are free.
- R2 includes 10 GB-month of storage, 1 million Class A operations, and 10 million Class B operations each month on its free tier.
- Workers AI includes 10,000 Neurons per day, then bills $0.011 per 1,000 Neurons on Workers Paid (pricing). Third-party models behind AI Gateway bill through your provider account or Unified Billing.
- Email Sending (public beta since April 2026) and Flagship (public beta since May 2026) are newer services, so check their current terms before launch.
- Stripe charges its own processing fees per transaction.
A free Cloudflare account is enough to develop locally, although AI and feature flags call your account even in development. For production, start on Workers Paid.
Get started with Edge Kit
After purchase, one CLI command clones the kit, writes your environment files and Wrangler config, installs dependencies, and seeds a local D1 database. Then pnpm dev runs the app on the Workers runtime and pnpm deploy ships it.
Create the project
npx @turbostarter/cli@latest new -k edgeThe CLI asks for a project name and, optionally, your email, OAuth, Turnstile, Stripe, and analytics settings. You can skip every provider and add keys later.
Run it locally
Connect Wrangler to your Cloudflare account first, because the AI and feature flag bindings call your account even in development:
cd my-app
pnpm wrangler login
pnpm devThe app runs at http://localhost:3000. Sign in with the seeded development user (its credentials are in your env file), then open /cdn-cgi/local/explorer to browse local D1 tables, R2 objects, and KV values.
Make it yours
Apply your branding across the website, app, and emails, then build your first feature with the feature recipe. It follows the same layout as the billing module: schema, server functions, queries, and UI.
Deploy
Create your Cloudflare resources, set secrets with Wrangler, and run pnpm deploy. Work through the production checklist before you send real traffic.
Pricing and launch offer
Edge Kit is a one-time purchase with lifetime access to the private GitHub repository, every future update, and the TurboStarter Discord. One license covers unlimited end products, including client projects, and teams buy one seat per developer.
| Option | Price | Launch week (until October 14, 17:00 UTC) |
|---|---|---|
| Edge Kit | $249 | $199 with code EDGE |
| All-in-One (Core + AI + Edge) | $599 | $549 with code EDGE |
| Edge Kit for existing TurboStarter customers | $249 | $159 with your dashboard code |
The EDGE code is applied automatically at checkout. After launch week, existing customers can still claim a one-time 10% code for their next kit from the dashboard. The license has the full terms, and the pricing section shows regional discounts where they apply.
Frequently asked questions
Edge Kit is TurboStarter's SaaS starter kit for Cloudflare. It is a full-code TanStack Start application with Better Auth, Stripe subscriptions, D1 and Drizzle, R2, KV, Queues, Cloudflare email, Workers AI, Turnstile, and Flagship feature flags already connected. The whole app deploys as one Cloudflare Worker, and you own all of the code.
TanStack Start is a v1 release candidate as of October 2026, with an API its maintainers describe as feature-complete and stable. Cloudflare documents it as a first-class framework on Workers, and teams already run production apps on it. Edge Kit gives you a set of versions that work together and ships framework updates through the kit's update workflow.
No. Edge Kit is a separate codebase built on TanStack Start, Vite, D1, and Wrangler from day one. Core Kit is a Next.js and PostgreSQL stack that can also deploy to Cloudflare Workers through OpenNext and Hyperdrive. Choose Edge for a Cloudflare-native web product, and Core when you need its broader feature set or other platforms.
D1 is Edge Kit's application database for accounts, sessions, subscriptions, and kit features. To read or write an existing Postgres database alongside it, follow the Hyperdrive recipe. If Postgres must be your system of record, Core Kit is the Postgres-first kit.
Edge Kit does not include organizations, invitations, team roles, or team billing; a super admin panel; magic links, passkeys, or two-factor auth; payment providers other than Stripe; or a mobile app and browser extension. All of those ship with Core Kit.
You can develop locally with a free Cloudflare account. For production, plan on the Workers Paid plan ($5 per month minimum), because Cloudflare's Email Sending, which the kit uses for account emails, is only available on paid accounts.
Yes. Edge Kit ships AGENTS.md rules, skills, a code review subagent, a feature scaffolding command, and a docs MCP server. They work with Cursor, Claude Code, Codex, Antigravity, and any other tool that reads AGENTS.md.
Yes. You pay once and get lifetime access to the repository and its updates, with no subscription. One license covers unlimited end products, and teams need one seat per developer.
Ship your SaaS on the edge
Edge Kit is the TanStack Start SaaS starter we wanted for Cloudflare: one codebase, one Worker, one account, with the setup work already done. If your product is web-first and sold to individuals, it is the shortest path we know from an idea to a globally deployed SaaS.
Click through the live demo, read the Edge Kit docs, or get Edge Kit at the launch price before October 14. Not sure it fits your product? Email hello@turbostarter.dev before you buy and we will help you decide.
How to build multi-tenant SaaS - complete guide
How to build multi-tenant SaaS: pick shared DB + org_id, wire auth, RBAC, billing, and isolation. Decision table, steps, and when a starter wins.
Introducing exclusive Discord community for indie hackers
We launched an exclusive Discord community for indie hackers and SaaS builders. Connect with founders, share progress, get feedback, and find collaborators.

