Isaac Hess
Back to Isaac Hess

Cost model

What a two-sided marketplace actually costs to run — and the real invoices that show where the money went. Infrastructure is cheap; velocity is what bills.

Two separate questions, with different answers: what does the stack cost at rest, and what generates a surprise bill. The second is where the money went.

At rest — roughly, verify current rates at signup

ServiceFree tierPaid entryNotes
Supabasereal, but projects pause when idle~$25/mo ProPro when you need backups + no pausing
Vercelhobby (non-commercial)~$20/user/mo Procommercial use requires Pro
Resenda few thousand emails/mo~$20/mofree tier carries an early build fine
Stripeno monthly fee~2.9% + 30¢Connect payouts may add per-payout fees
Twiliononeper-message + A2P feessee below — the fixed fees surprise people
Google Mapsusage creditpay-as-you-gothe dangerous one
Sentry / PostHoggenerous~$26/mofree tier is fine for a long time

A2P 10DLC carries fixed costs independent of volume: a one-time brand registration, a one-time campaign vetting fee, and a recurring per-campaign monthly fee, plus per-message cost and carrier pass-through. Budget it as a fixed monthly line, not a variable one, and register early — approval takes days to weeks.

Deliberately excluded from the roster: anything charging per seat or per month for something the stack already does. Fewer providers is cheaper and less to hand off.

The bills that actually happened

Real invoices from the reference build, not estimates. The distribution is not what anyone expects.

What it wasTwo months
Hosting AI add-on (billed per token, left switched on)$423.27
Build minutes — 1,282 hours across 1,439 merged changes$190.26
Event logging — 19.5M events$23.35
Actually serving the application to users$12.39
Texting~$63

Two monthly invoices came to roughly $693 of infrastructure. Running the app for real users was under 2% of it. Everything else was development cost.

Separately and earlier: mapping calls reached roughly $700 in a single month, from address lookups and map images requested on every page view and never cached. Fixed by caching tiles in blob storage and persisting geocode results.

Cache anything billed per call before launch. Audit per-token add-ons monthly. Squash before pushing. After switching the add-on off, the next cycle came in at $43.77.

Every spike invoice was refunded or partly refunded. When a spike traces to a genuine mistake, providers will often credit it back. Open the support ticket.

Quoting a client build

Charge for the work, not the infrastructure — but quote infrastructure separately and honestly so it never looks like a surprise.

  • Fixed monthly floor: hosting + database + email + error tracking. Small and predictable; give a real number.
  • Variable: payments (percentage of volume), SMS (per message plus A2P), maps (per call — quote it assuming caching, and note what it costs without).
  • One-time: A2P registration and vetting, domain, any paid design assets.

Two things worth saying out loud in a proposal, because they build more trust than they cost: the client owns every provider account from day one, and the month-one bill is usually near zero because free tiers carry an early build.