HOWMUCHTOVIBECODE.COM

Methodology

How the estimates work

Every receipt on this site is built from the same three moves: add up what the features cost in the platform’s own units, multiply by how much you iterate, then add a debug surcharge because nobody ships on the first try. No black box, no proprietary index — just arithmetic you can check.

The formula

Subtotal → × iteration multiplier (1.2–8) → + 40% debug surcharge. Here it is on a real config: a saas dashboard built by a “normal human”, priced in Lovable credits.

* WORKED EXAMPLE *

SaaS dashboardon Lovable

Core app (standard)30 cr–60 cr
User accounts & login8 cr–16 cr
Payments / subscriptions12 cr–24 cr
Admin panel10 cr–20 cr

Subtotal60 cr–120 cr
Iteration tax (normal human)× 2.5
= after iteration150 cr–300 cr
Debug surcharge+ 40%

Total210 cr–420 cr
Damage$53–$105

4 months on Lovable Pro ($25/mo).

Same build, all six platforms

  • Lovable315 cr · $53–$105
  • Bolt.new26.4M tk · $44–$88
  • Replit Agent$175 · $115–$234
  • v0 by Vercel$180 · $119–$241
  • Cursor + Claude$126 · $81–$172
  • Claude Code$151 · $98–$203

Cheapest on this config: Bolt.new. That result is computed, not chosen.

The iteration tax is the honest part. Base costs assume the platform understood you the first time, which it did not. Your prompting style sets the multiplier: careful prompter ×1.2, normal human ×2.5, heavy iterator ×5, vibes only ×8.

The 40% debug surcharge sits on top of that, and it is not the same thing. Iteration is you changing your mind. Debugging is the app being broken in a way neither of you intended, and it lands on every project regardless of how carefully you prompt.

Where the numbers come from

Platform docs. Plan prices, included allowances and unit definitions come from each platform’s own published pricing, re-checked on the lastVerified date printed on every estimate and pricing guide.

Community build reports. Feature-level costs are seeded from what builders publicly report spending — forum posts, threads, and post-mortems where people share the actual credit or token counts for a working feature. These are noisy, which is why we publish ranges.

Real-build submissions. The long game: receipts sent in by people who finished something. As those accumulate, they replace the estimates rather than decorate them. Submit yours →

When a number changes, the change gets written down rather than quietly swapped in. See the pricing changelog →

Why ±40%, and why ranges

A point estimate would be more satisfying and less true. The same feature, on the same platform, on the same day, can cost twice as much depending on how big your project already is, how the model decides to approach it, and how many times you say “actually, no.”

So every line item is a range, ranges add up into ranges, and the total carries a ±40% band on top. If your build lands inside that band, the estimate did its job. If it lands outside it, we want to know — that is what the real-builds page is for.

One consequence worth stating plainly: these are estimates for budgeting, not quotes. Nobody here can promise what a platform will charge you, and any site that does is guessing with more confidence than evidence.

The AI verdict

The calculator has an optional first step: describe your app in a sentence or two and it fills in the type and the features for you. That description is sent to Claude, which picks the closest of the 12 app types, the features it implies, and a colour-coded verdict on whether AI app builders are the right tool for it at all.

The arithmetic stays deterministic. The model never touches a number. All it does is fill in the same two dropdowns you could fill in yourself; everything after that is the formula above, run over the same data, with the same result you would get by clicking the chips by hand. Skip the box entirely and the receipt is identical.

A red verdict is not “impossible”. It means this app class fights these tools — realtime multiplayer, regulated medical data, custom model training, hardware, genuinely native mobile. People ship those things every day. They ship them writing real code, mostly outside the builder, and the estimate on the receipt stops describing their project. Yellow means buildable with caveats, and the caveats are printed on the receipt rather than implied.

Descriptions are cached by a hash of their content, so the same idea asked twice costs one call and returns the same verdict. Nothing about who asked is stored: no accounts, no cookies, and the per-visitor rate limit keys off a salted hash of the IP rather than the address itself.

Unit conversions, per platform

Every platform bills in its own currency. This is how we turn each one into dollars.

PlatformUnitRateReference planVerified
Lovablecredits$0.25 per creditPro — $25/mo, 100 credits2026-08-10
Bolt.newM tokens$2.50 per million tokensPro — $25/mo, 10 M tokens2026-08-10
Replit Agent$ creditsbilled in dollars — 1 unit = $1Core — $25/mo, 25 $ credits2026-08-10
v0 by Vercel$ creditsbilled in dollars — 1 unit = $1Premium — $20/mo, 20 $ credits2026-08-10
Cursor + Claude$ usagebilled in dollars — 1 unit = $1Pro + API — $20/mo, 20 $ usage (+ $20/mo subscription)2026-08-10
Claude Code$ usagebilled in dollars — 1 unit = $1Pro — $20/mo, 40 $ usage2026-08-11

One row in that table is ours, not the platform’s. Claude Code publishes no token quota — its limits are rolling five-hour windows plus weekly caps, quoted only as multipliers of Pro — so we model the Pro plan as absorbing roughly $40/mo of API-equivalent build work, with Max at 5× and 20× that. That $40 is an estimate, calibrated against Claude API rates (Opus 5 $5 / $25 per million tokens in and out, Sonnet 5 $3 / $15, as of Aug 2026), and every Claude Code number on this site inherits its uncertainty. The full reasoning →

The honesty pledge

This site carries affiliate links. Some of the platforms above pay a commission if you sign up through them. That pays for the domain and the time spent re-checking prices.

It does not touch the ranking. The cheapest platform on any receipt is computed by estimate() — the same function on every page, run over the same data — and nothing in that function knows which links pay. If the cheapest option pays us nothing, it still gets the scissors icon.

Where we are unsure, the page says so. Where a number is coarse, it is marked coarse rather than rounded into a false decimal. And when a platform changes its pricing, the fix is a dated changelog entry, not a silent edit.