// What is microservices.sh?

Composable SaaS modules on Cloudflare, explained.

microservices.sh is a composable way to build your SaaS on Cloudflare — real, source-visible code you own, built with any AI builder. Compose Cloudflare-native modules — auth, payments, multi-tenant, billing, admin, email, webhooks, audit — and add only what you need. Start free locally, go managed when you ship.

What is microservices.sh?

microservices.sh is a composable way to build your SaaS on Cloudflare — real, source-visible code you own, built with any AI builder. It is not a prompt-to-app builder and not a hosted black-box backend.

You compose Cloudflare-native modules — auth, payments, multi-tenant, billing, admin, email, webhooks, audit — and add only what you need. Each module is source-visible code in your repository with a typed contract your AI builder can read before it composes.

What problem does it solve?

Every SaaS reinvents the same backend plumbing: authentication, billing, multi-tenant isolation, audit logs, webhooks, admin, and email. Rebuilding these from scratch — or hand-prompting an AI to invent risky auth and payment logic — is slow and error-prone.

microservices.sh gives you these as composable Cloudflare-native modules you can drop in and own. Start free locally with no signup, build with any AI builder, and go managed when you ship — managed deploys, billing, and scale on Cloudflare Workers, D1, and R2.

How is it different from a fork-a-monolith starter template?

A typical fork-a-monolith starter is a one-time copy of an entire app: you clone it, and from then on you own and maintain every line, including the parts you never use, with no upgrade path. microservices.sh is composable — you add only the modules you need (auth, payments, multi-tenant, billing, admin, email, webhooks, audit), pinned in a lockfile and versioned.

Each module ships a machine-readable contract (typed hooks, events, permissions) so your AI builder can inspect what a module does before accepting it, instead of pattern-matching across copied files. You still own the source; you just don't inherit a whole monolith on day one.

Can I use any AI builder?

Yes. microservices.sh is the code you compose, not the tool you build with. Use Lovable, Bolt, Replit, v0, Cursor, Claude Code, Codex, or your terminal — whatever AI builder you prefer.

Because every module is source-visible code with a typed contract, your AI builder can read exactly what a module does before composing with it, instead of guessing across copied files.

Who is it for?

The primary users are AI-heavy technical founders, agencies, fractional CTOs, and Cloudflare-oriented developers — teams that repeatedly build client portals, booking systems, internal tools, admin apps, and SaaS MVPs.

Agencies get the clearest value: they rebuild the same backend modules across clients, so reusable, composable Cloudflare-native modules mean faster delivery and better margin. The shared pain is not 'generate UI faster' — it is 'stop rebuilding auth, billing, and multi-tenant from scratch every time'.

Do I own the code?

Yes. Every module is source-visible code in your repository, not a hosted dependency you rent. There is no black box. You can read it, extend it through typed hooks, override files, or fork entirely — the customization ladder is config → hooks → overlay → fork.

Composition is pinned in microservices.lock.json, so the same source builds the same way every time. You start free locally — local generation does not require a microservices.sh account or a Cloudflare account.

Why Cloudflare-native?

Modules target Cloudflare Workers, D1, and R2 so apps run at the edge without a separate database or storage service to provision. Around 40% of YC's W25 batch built on Cloudflare — it is where a lot of new SaaS is being built. You get a Cloudflare-native path without becoming a Cloudflare infrastructure expert.

Start free locally and bring your own Cloudflare account, with no signup. When you ship, go managed: managed deploys handle remote state and resource ids, plus billing and scale — while wrangler.jsonc stays a local-dev config.

How do I start — and what changes when I ship?

Start free locally: scaffold a real app from source-visible modules, own the code, and bring your own Cloudflare account — no signup required. Inspect the module contracts and run checks before you deploy.

Go managed when you ship: managed deploys, billing, and scale on Cloudflare. You keep the same source-visible code; managed mode just handles the production operations so you don't have to.

Try it

Scaffold a real app in one command — no signup.

Local generation needs no account. Create a working Cloudflare SvelteKit booking app, inspect the module contracts, and run checks before you deploy.

pnpm create microservices-app@latest