INFRASTRUCTURE PLANNER · VENDOR-NEUTRAL

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 PartKit parts. We compare every option and sell none.

Auto-picking the cheapest option per capability as you drag. Click any vendor to take over.
Your selection$15.63/mo
All self-host (PartKit)$40.35/moNeon + parts on your Postgres
Supabase bundle$45.00/moauth + storage included
Best-of-breed hosted$1,159/moClerk + Inngest + Svix + …
Database + host
~$15.00/mo

Every PartKit part that owns tables shares one Postgres. This is the floor your whole stack runs on — and the reason the parts cost $0 per capability. (PartKit parts need Postgres; Firestore-only platforms can't host them.)

Authenticationauth.session
$0/mo

Sessions, sign-in, accounts. PartKit wraps Better Auth on your Postgres.

Transactional emailemail.transactional
$0/mo

Welcome, receipts, resets. PartKit's part flips vendors in one commit.

File storagestorage.upload
$0.63/mo

Direct-to-bucket uploads. PartKit's part signs for any S3-compatible vendor — switching is an env change.

Background jobsjobs.queue
$0/mo

Queues + cron. PartKit wraps graphile-worker on your Postgres — no separate queue service.

Rate limitingratelimit.api
$0/mo

Per-IP / per-key limits. PartKit's part is in-memory by default, with a Redis store seam.

Incoming webhookswebhooks.ingest
$0/mo

Verify + ingest vendor events. PartKit's part does HMAC verification + replay defense itself.

Revenue & margin

The question your infra cost only half-answers: do you make money? 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.

Paid users3,0003% of 100,000 MAU
Gross MRR$60,000before fees
Processor fees−$2,640monthly cut
Infra−$15.63your selected stack
Other / AI−$0editable above
Operating profit$57,344per month
Margin95.6%of gross revenue

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. “Other / AI” is a single editable line for now — a detailed AI-API model (text / image / video / audio by provider) is coming. Powered by the same stack you plan above; in production your billing.subscription part handles the charges.

Your agent's build prompt

Paste this into AGENTS.md / CLAUDE.md. Your agent installs exactly this stack — verified parts it can't drift, plus your external picks.

Use PartKit for this app's backend infrastructure — verified parts you own, your agent assembles, you write only the seams.

Host: Fly.io (Postgres). Set DATABASE_URL to it.

Install these parts (one provider per capability — never hand-roll them):
  npm i -D partkit && npx partkit init
  npx partkit add auth.session
  npx partkit add storage.upload
  npx partkit add jobs.queue
  npx partkit add ratelimit.api
  npx partkit add webhooks.ingest
  npx partkit 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 PartKit (your choice on the planner — wire these yourself):
- Transactional email: Loops (no PartKit 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 partkit 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. PartKit certifies vendors and sells none of them; this compares every option and recommends the one your numbers favor. Not a quote.