AppSavvyBook a call
Bubble Migration

Bubble vs Code: The Real Cost at 10k, 100k, and 1M Users

Honest cost comparison between Bubble and a code stack (Next.js + Supabase + Vercel) at three scale milestones. Infra, developer time, hiring, and total cost of ownership.

Will Driscoll10 min read

Comparing Bubble to a custom code stack on cost alone is a trap. Both can win the headline price comparison at different scales, both have hidden costs, and the right answer is almost never about the line items on a vendor invoice.

This article does the actual math at three scale milestones - 10,000 users, 100,000 users, 1 million users - across the four cost categories that matter. Infrastructure, developer time, hiring, and the harder-to-measure cost of speed.

The four cost categories

Every TCO comparison needs to look at four things, not just hosting bills:

  1. Infrastructure - Bubble plan + WU, vs Vercel + Supabase + Trigger.dev + Stripe fees
  2. Developer cost per feature - how long does it take to ship something new
  3. Hiring cost - what does it cost to find a senior engineer for your stack
  4. Speed-to-market cost - what does it cost when a feature ships a month later than it could have

The first two are measurable on a spreadsheet. The third and fourth are where most comparisons go wrong, because they're harder to quantify but they're the ones that actually determine company outcomes.

At 10,000 users

This is the "early growth" zone. Real customers, predictable usage, but not yet putting serious load on any system.

Bubble at 10k users

  • Platform plan: Bubble Growth plan is typically around $134/month
  • WU usage: Highly variable. For a moderate app at 10k users, expect $200-800/month in WU. Heavy workflow apps can be much more.
  • Plugins: Usually $0-200/month (paid plugins for things like rich-text editing, file management)
  • Dev cost per feature: A focused Bubble dev can ship a moderately complex feature in 2-5 days. Their hourly rate is typically $80-150/hr.
  • Hiring cost: Limited talent pool. Recruiting a senior Bubble dev takes 2-4x longer than a senior Next.js dev.

Monthly infrastructure: $300-1,100. Per-feature cost: $1,500-6,000.

Code at 10k users (Next.js + Supabase + Vercel)

  • Vercel: Pro plan at $20/seat/month, easily covered by hobby tier at 10k users
  • Supabase: Free tier covers small apps; Pro at $25/month if you need more
  • Trigger.dev: Free tier (10k runs/month) likely sufficient
  • Stripe: Standard fees, not platform-specific
  • Dev cost per feature: A senior Next.js dev can ship a moderately complex feature in 1-4 days, but the upfront setup cost is higher than Bubble
  • Hiring cost: Massive talent pool, faster recruiting

Monthly infrastructure: $40-100. Per-feature cost: $800-4,000.

Verdict at 10k users

Bubble wins on speed-to-first-feature (you're shipping in week one, not week three) but loses on per-month infrastructure cost. If your runway is the binding constraint, Bubble's upfront speed often wins. If you have engineering capacity already, code wins on both axes.

At 100,000 users

This is where Bubble's economics start to invert. Real load, real WU costs, real performance pressure.

Bubble at 100k users

  • Platform plan: Bubble Team plan, typically $475-625/month
  • WU usage: Now the main cost line. Realistic for an app with active workflows: $2,000-8,000/month
  • Plugins: $100-400/month
  • Capacity boosts and dedicated capacity: Often needed; $500-2,000/month
  • Dev cost per feature: Same hourly rate but features take longer because the app is more complex and Bubble's editor performance degrades with app size
  • Hiring cost: Increasing pain. Senior Bubble talent gets expensive; the few available people often want full-time at the top of the pay band

Monthly infrastructure: $3,000-11,000. Per-feature cost: $2,000-8,000.

Code at 100k users

  • Vercel: Pro with bandwidth scaling, typically $200-600/month
  • Supabase: Pro with compute scaling, typically $100-500/month
  • Trigger.dev: Pro plan, $50-200/month
  • CDN / file storage: $50-200/month
  • Dev cost per feature: Now the code stack pulls ahead - features stay similar complexity instead of getting harder as the app grows
  • Hiring cost: Easier - Next.js dev market is deep

Monthly infrastructure: $400-1,500. Per-feature cost: $1,500-5,000.

Verdict at 100k users

Code wins. The gap is large enough that the migration cost (typically $80k-200k for a mid-stage app) pays back in 12-24 months on infrastructure alone, without even counting the hiring and per-feature wins.

This is the zone where "should we migrate?" stops being a strategic question and becomes a math question.

At 1,000,000 users

This is where Bubble apps tend to break entirely. Not because Bubble can't handle the load - Bubble has customers running large apps - but because the cost structure becomes untenable.

Bubble at 1M users

  • Platform plan + capacity: $5,000-15,000/month with dedicated capacity
  • WU usage: $10,000-50,000+/month for active applications
  • Plugins and integrations: $200-1,000/month
  • Optimisation engineering: Real ongoing cost as you fight WU consumption
  • Dev cost per feature: Now significantly worse - the app is huge, editor performance is painful, simple changes touch dozens of workflows
  • Hiring cost: You're competing with the handful of large Bubble apps for the same small talent pool

Monthly infrastructure: $20,000-65,000+. Per-feature cost: $3,000-15,000.

Code at 1M users

  • Vercel: Enterprise or scaled Pro, $1,500-5,000/month
  • Supabase: Scaled Pro with read replicas, $500-2,500/month
  • Trigger.dev: Enterprise plan, $300-1,500/month
  • CDN / file storage: $200-1,000/month
  • Dev cost per feature: Mature codebase, good test coverage, ships predictably
  • Hiring cost: Deep talent market, senior engineers actively want to work on real code

Monthly infrastructure: $2,500-10,000. Per-feature cost: $1,500-6,000.

Verdict at 1M users

Code wins by an order of magnitude. At this scale, staying on Bubble is the equivalent of leasing a private jet for your daily commute - it can be done but it's not a serious option.

The hidden cost most comparisons miss

The cost of being slow.

If your competitors ship features two months faster than you can, that's not a cost line on a spreadsheet but it shows up as customer churn, missed market windows, and increasingly aggressive sales discounts to compensate for product gaps.

For early-stage Bubble apps, the speed advantage is real - Bubble can outpace a code project by months on the first three features. After ~10-15 features, the gap closes. By feature 30, the code stack ships faster than Bubble for the same engineer.

That's not a moral judgement - it's how the abstractions accumulate. Bubble's editor performance degrades, the visual workflow becomes harder to read, and the implicit complexity of large workflows becomes a cognitive tax on every change.

When does the math say migrate?

Based on the numbers above, the rough decision thresholds are:

Scale Recommendation
Under 10k users Stay on Bubble unless other signals say otherwise
10k-50k users Refactor and optimise on Bubble; start planning migration
50k-200k users Migration becomes economically obvious; the math pays back in 12-24 months
200k-1M users Migration is overdue; every month delays the payback
Over 1M users You're already running a code project, just hidden inside Bubble

These aren't laws. We've migrated apps at 5k users (because they had specific technical needs Bubble couldn't meet) and we've helped apps stay on Bubble at 200k users (because they had simple workflows and didn't need to migrate yet).

What to do next

If you want to model these numbers for your specific app, book a 30-minute discovery call and we'll walk through your actual cost structure together. We won't try to sell you a migration if the math doesn't say to migrate.

If you've already decided migration is the right move, the migration playbook PDF describes how we run a migration without breaking the business in the process.

Read next: The Bubble performance ceiling and Hidden costs of staying on Bubble after you've outgrown it.

Got a Bubble or Canvas app you’d like a second pair of eyes on?

30-minute discovery call. We’ll look at your app live and tell you honestly what we’d do next.

Or grab the Bubble migration playbook PDF.