MuseMVP

All in Cloudflare

From MVP to production,all in Cloudflare.

TanStack Start runs natively on Workers through the Cloudflare Vite plugin, with no adapter layer. D1, R2, Workers AI, Queues and Email Sending are declared in one wrangler.jsonc. Local development needs no Docker or cloud credentials, and going live starts with one reviewable plan.

The live demo is served by Flare's own Worker, D1 and R2.

Worker · three entry points
1
native bindings
5
servers to maintain
0
release steps, all reviewable
7
https://app.your-domain.com

Your Cloudflare account

Hello, local user

Your product, in motion.

A quiet place to build the next useful thing.

Available credits
30
Stored files
0
AI tasks
0
Orders
0

Make something useful.

Stream a response, or summarize an uploaded text document.

D1· SQLite database

Users, sessions, the credit ledger, jobs and payment events live in D1. Drizzle schema and queries sit in packages/db, migrations are versioned with the repository, and risky migrations are checked before deployment.

Config
d1_databases → DB
Source
packages/db/src/index.ts
Read the guide

Everything inside the dashed box runs in your own Cloudflare account. The Worker's runtime secrets are limited to AUTH_SECRET plus the CAPTCHA, OAuth and payment credentials you enable.

All in Cloudflare

One account. One Worker. The whole product.

Compute, data, files, AI, jobs, mail and logs are bindings on the same Worker. You inherit a platform instead of assembling one.

Your Cloudflare account

Declared once in wrangler.jsonc.

D1, R2, Workers AI, Queues, Cron Triggers and Email Sending are native bindings. Development, preview and Workers tests run the same code.

  • Worker
  • D1
  • R2
  • Workers AI
  • Queues
  • Cron Triggers
  • Email Sending
apps/web/wrangler.jsoncexcerpt
{
  "main": "src/server.ts",
  "d1_databases": [{ "binding": "DB" }],
  "r2_buckets": [{ "binding": "R2_BUCKET" }],
  "ai": { "binding": "AI" },
  "send_email": [{ "name": "EMAIL" }],
  "queues": { "producers": [{ "binding": "JOBS" }] },
  "triggers": { "crons": ["*/5 * * * *"] }
}

No adapter layer

TanStack Start, built as a Worker.

The Cloudflare Vite plugin emits a Worker. There is no OpenNext conversion step between your app and the edge.

Build path

Next.js → OpenNext → Worker

TanStack Start → Cloudflare Vite plugin → Worker

Fewer secrets

Bindings replace access keys.

The database, files, model, queue and mailbox are reached through the Worker. Runtime secrets stay limited to AUTH_SECRET plus the providers you enable.

Reached by binding, not by key

  • D1 connection string
  • R2 access keys
  • model API key
  • queue broker URL
  • mail API key

Still a secret when you enable it

  • AUTH_SECRET
  • OAuth / Turnstile / payment credentials
A lighter stack

Seven pieces of infrastructure, one account.

Services you would normally sign up for and hold keys to one by one are, in Flare, bindings on a single Worker.

Seven services you would usually buy separately, already attached to one Worker.

Usually assembled by hand

Several dashboards, several key sets, several bills

In Flare

One account, one wrangler.jsonc, one CLI

  • RuntimeA Node server or container you scaleWorkerssrc/server.ts
  • DatabaseHosted Postgres and a connection stringD1DB
  • FilesAn S3 bucket and access keysR2R2_BUCKET
  • AIA model provider account and API keyWorkers AIAI
  • JobsA Redis queue and a long-running workerQueuesJOBS
  • CronAn external cron service or processCron Triggers*/5 * * * *
  • EmailAn email provider and API keyEmail SendingEMAIL

No adapter layer

TanStack Start builds into a Worker through Cloudflare's official Vite plugin, without an OpenNext-style translation step. Development, preview and tests all run Workers-compatible code.

@cloudflare/vite-plugin

Zero credentials locally

pnpm muse:init creates a local D1 database, generates AUTH_SECRET and seeds two test accounts. No Cloudflare account and no Docker required.

pnpm muse:init

Fewer secrets

Database, files, AI, queues and email all go through bindings. The Worker only stores the auth secret plus the CAPTCHA, OAuth and payment credentials you enable.

AUTH_SECRET
MVP → production

Start with one command. Ship with one plan.

Local development never touches the cloud. Before deploying, you see exactly what will be created and which migrations will run; after publishing, public smoke checks run automatically. Every command returns stable JSON and exit codes, ready for CI.

Initialize locally

Generates AUTH_SECRET, applies local D1 migrations and seeds two test accounts. No Cloudflare credentials at any point.

~/my-mvp1/5 · Init

pnpm install --frozen-lockfile

pnpm muse:init

command: init

initialized: true

next: [

"pnpm dev",

"Local accounts: [email protected] and [email protected] (see README)",

"Verification and reset links are captured at /dev/mail",

"Production secrets: .muse/production.secrets.json (gitignored)"

]

exit codes0 success1 operation failed2 blocked3 smoke failed

The plan is read-only and creates nothing. A pending migration containing DROP, TRUNCATE, DELETE or UPDATE SET blocks automated deployment.

Read the deployment guide
One product line

Three codebases. Pick the runtime that fits.

The two Next.js apps live in the musemvp repository and share domain packages. Flare is a standalone repository, designed for Workers from the first line.

Framework

Next.js + NodeNext.js 16

Next.js + CloudflareNext.js 16 + OpenNext

TanStack Start + CloudflareTanStack Start + Vite

Runtime

Next.js + NodeNode.js on Vercel or Docker

Next.js + CloudflareCloudflare Workers via OpenNext

TanStack Start + CloudflareWorkers, natively via the Cloudflare Vite plugin

Data & files

Next.js + NodePostgreSQL · S3-compatible storage

Next.js + CloudflareD1 · R2

TanStack Start + CloudflareD1 · R2

AI & background jobs

Next.js + NodeNot built in

Next.js + CloudflareNot built in

TanStack Start + CloudflareWorkers AI · Queues · Cron Triggers

Local development

Next.js + NodePostgreSQL in Docker Compose

Next.js + CloudflareWrangler local D1, no Docker

TanStack Start + CloudflareLocal D1, no Docker or cloud credentials

Deploy

Next.js + NodeVercel or your own Docker host

Next.js + Cloudflarepnpm cf:deploy to Workers

TanStack Start + Cloudflarepnpm muse:deploy: plan → yes → verify

Choose it when

Next.js + NodeYou need PostgreSQL, self-hosting or long-running Node processes.

Next.js + CloudflareYou want one platform, an edge runtime and the least infrastructure to operate.

TanStack Start + CloudflareAI-first MVPs that want the lightest path from laptop to Workers.

MuseMVP and All in One include all three codebases. The UI Templates plan does not.

See Next.js + Cloudflare
Project structure

One pnpm workspace, clear boundaries.

apps/web holds the interface and the Worker entry; domain logic lives in packages. Hover any entry to preview the real source.

musemvp-flare Hover or focus to preview

Explorer

functions.tsOpen documentation
apps/web/src/modules/workbench/functions.ts
Source excerpt

Reviewed excerpts, generated at build time.

Read the structure guide

Three plans. One payment.

Choose the plan that fits

Every plan is a one-time, tax-inclusive purchase. UI Templates covers landing pages, MuseMVP covers the full-stack SaaS starter, and All in One includes both.

  • One-time payment
  • Tax included
  • No subscription
  • Keep every version you receive
Best value

One payment. Tax included.

All in One

MuseMVP + every UI template

$79USD
one-time

The full-stack MuseMVP starter plus all 9+ UI landing-page templates, including new ones during maintenance. MuseMVP Flare.

Buy All in One

SaaS starter

  • IncludedNext.js + Node app
  • IncludedNext.js + Cloudflare app
  • IncludedTanStack Start + Cloudflare app
  • IncludedAuthentication, payments & dashboard
  • IncludedAI-native development

UI landing-page templates

  • Included9+ live landing-page templates
  • IncludedEditable page source, layouts & assets
  • IncludedNew templates during maintenance

After payment, connect GitHub in the Dodo Customer Portal, then accept each repository invitation.

One payment. Tax included.

MuseMVP

Full-stack SaaS starter

$69USD
one-time

Next.js for Node and Cloudflare, plus the independent MuseMVP Flare TanStack Start template. Authentication, billing and administration included.

Buy MuseMVP

SaaS starter

  • IncludedNext.js + Node app
  • IncludedNext.js + Cloudflare app
  • IncludedTanStack Start + Cloudflare app
  • IncludedAuthentication, payments & dashboard
  • IncludedAI-native development

UI landing-page templates

  • Not included9+ live landing-page templates
  • Not includedEditable page source, layouts & assets
  • Not includedNew templates during maintenance

After payment, connect GitHub in the Dodo Customer Portal, then accept each repository invitation.

One payment. Tax included.

UI Templates

UI landing pages

$19USD
one-time

9+ editable Next.js landing-page templates. A design product, independent of the engineering starter.

Buy UI Templates

SaaS starter

  • Not includedNext.js + Node app
  • Not includedNext.js + Cloudflare app
  • Not includedTanStack Start + Cloudflare app
  • Not includedAuthentication, payments & dashboard
  • Not includedAI-native development

UI landing-page templates

  • Included9+ live landing-page templates
  • IncludedEditable page source, layouts & assets
  • IncludedNew templates during maintenance

After payment, connect GitHub in the Dodo Customer Portal, then accept each repository invitation.

Every plan includes

  • 1 developer license
  • Multiple commercial end products
  • Private client-project handoff
  • Product-line updates
  • Public documentation & community

One developer. Multiple commercial products and private client-project source handoff. No source redistribution or template resale.

Keep the versions you receive forever. Updates and new templates are included while the same product line is maintained, not future independent products or unlimited services.

There is no self-serve upgrade or price-difference checkout. Need to switch plans? Contact support.

Flare FAQ

About MuseMVP Flare

What the purchase includes, how it differs from the Next.js edition, local development and running costs.

Is Flare included in my purchase?

Yes. MuseMVP and All in One include the Flare source and both Next.js apps. The UI Templates plan on its own does not.

How does it differ from Next.js + Cloudflare?

Both deploy to Workers and use D1 and R2. Flare is built natively with TanStack Start and Vite, without the OpenNext adapter, and adds Workers AI, Queues and Cron Triggers. The Next.js edition suits teams already at home in the Next.js ecosystem.

Is everything really on Cloudflare?

Compute, database, files, AI, queues, scheduled jobs, email and logs live in your Cloudflare account. Payment gateways (Stripe, Creem, Dodo Payments, Waffo) and Google and GitHub sign-in remain external services by design.

Can I start locally without a Cloudflare account?

Yes. pnpm muse:init creates D1 locally, generates secrets and seeds test accounts without any Cloudflare credentials. Workers AI has no local emulator, though: to test real generation, explicitly enable remote bindings or deploy to your own account.

What does it cost to run?

Workers, D1, R2, Queues and Workers AI are billed by usage with included allowances, but the template does not promise zero cost. Email Sending needs the service activated and a verified sender domain, and transactional mail to arbitrary recipients currently requires Workers Paid. Check current Cloudflare pricing.

Can I reuse the UI templates?

Yes. The UI templates are built on Next.js; adapt routing and framework-specific components when bringing them into TanStack Start.

Workers · D1 · R2 · AI · Queues · Email

Put your next MVP straight on Cloudflare.

Authentication, payments, AI and deployment tooling are ready. Start from a running Worker, not an empty repository.

  1. pnpm muse:init
  2. pnpm dev
  3. muse:deploy --plan
  4. muse:deploy --yes
Read the docs