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
| Service | Free tier | Paid entry | Notes |
|---|---|---|---|
| Supabase | real, but projects pause when idle | ~$25/mo Pro | Pro when you need backups + no pausing |
| Vercel | hobby (non-commercial) | ~$20/user/mo Pro | commercial use requires Pro |
| Resend | a few thousand emails/mo | ~$20/mo | free tier carries an early build fine |
| Stripe | no monthly fee | ~2.9% + 30¢ | Connect payouts may add per-payout fees |
| Twilio | none | per-message + A2P fees | see below — the fixed fees surprise people |
| Google Maps | usage credit | pay-as-you-go | the dangerous one |
| Sentry / PostHog | generous | ~$26/mo | free 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 was | Two 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.