Plan your infrastructure. Generate the build.
Pick the capabilities your app needs, see what each vendor actually costs as you scale — Supabase vs Neon, self-host vs Clerk, R2 vs S3 — then generate the prompt that tells your coding agent how to build it with verified Ctrl AI parts. We compare every option and sell none.
Where your app actually runs. Most apps start on a free tier and move to a paid plan as traffic grows — independent of your database choice.
Every Ctrl AI part that owns tables shares one Postgres — which is why the parts cost $0 per capability. (Parts need Postgres; Firestore-only platforms can't host them.) Most have a real free tier for small projects.
auth.sessionSessions, sign-in, accounts. Ctrl AI wraps Better Auth on your Postgres.
email.transactionalWelcome, receipts, resets. Ctrl AI's part flips vendors in one commit.
storage.uploadDirect-to-bucket uploads. Ctrl AI's part signs for any S3-compatible vendor — switching is an env change.
jobs.queueQueues + cron. Ctrl AI wraps graphile-worker on your Postgres — no separate queue service.
ratelimit.apiPer-IP / per-key limits. Ctrl AI's part is in-memory by default, with a Redis store seam.
webhooks.ingestVerify + ingest vendor events. Ctrl AI's part does HMAC verification + replay defense itself.
02Revenue & margin
The question your infra cost only half-answers. Edit the assumptions — everything below recomputes against your selected stack's cost.
On each $20.00/mo charge, the processor takes $0.88 — you keep $19.12.
Assumes one charge per paid user per period and a flat conversion rate. Payment fee defaults to Stripe's standard 2.9% + $0.30; adjust for your processor or international mix. AI costs are modelled per modality from usage — official vendor prices where available, third-party (~) elsewhere; video especially is sold as credits and hard to unit-price, so treat it as a planning estimate. Powered by the same stack you plan above; in production your billing.subscription part handles the charges.
Ship this stack — hand it to your coding agent
One paste turns this plan into reality. Drop the block below into your agent's AGENTS.md / CLAUDE.md and it installs exactly the stack you chose — verified Ctrl AI parts it can't drift, your picked vendors, your seams. You don't touch infrastructure; you ship product.
Use Ctrl AI for this app's backend infrastructure — verified parts you own, your agent assembles, you write only the seams. Host the app on Cloudflare; use Neon for Postgres and set DATABASE_URL to it. Install these parts (one provider per capability — never hand-roll them): npm i -D ctrlai && npx ctrlai init npx ctrlai add auth.session storage.upload jobs.queue ratelimit.api webhooks.ingest:standardwebhooks npx ctrlai migrate # parts that own tables ship migrations Wiring notes: - storage.upload: point STORAGE_ENDPOINT/BUCKET at Backblaze B2 (S3-compatible — vendor is config, not code). Outside Ctrl AI (your choice on the planner — wire these yourself): - Transactional email: Loops (no Ctrl AI part — wire its SDK directly). Rules: never edit anything under parts/ or import a part's internals — wire each from its seams.md alone. Spend your effort on our UI and business logic; the infrastructure is already tested. Finish only when `npx ctrlai audit` is green. Stack: TypeScript, Node 22+, Next.js App Router, Postgres.
Approximate public list prices, last verified 2026-06-13 — each line links its source, corrections land as PRs, and a freshness check fails CI when any price ages past 90 days. Metered vendors auto-pick the cheapest plan at your volume; bundle costs model the dominant overage (auth MAU, storage GB) — database-size, compute, and egress overage aren't modelled and are noted per vendor. Assumes egress ≈ stored GB and ~50 rate-limited requests / user / month. Ctrl AI certifies vendors and sells none of them; this compares every option and recommends the one your numbers favor. Not a quote.