Back to Blog
Vibe Coding 2026-04-12 12 min read

TL;DR: Free tiers are not gifts. They are marketing funnels designed to couple your codebase to a platform before you have revenue. The pattern is the same everywhere: $0 hooks you, $25 feels reasonable, and then there is no middle ground before $600. If your database provider charges per-read, per-MAU, or per-GB-egress, you do not control your costs. They do. Fixed-price infrastructure ($6-15/mo) gives you predictable bills whether you have 100 users or 100,000.


Table of Contents


The Psychology of Free

Free tiers work because they remove friction at the exact moment you are most price-sensitive: the start of a project.

You are a vibe coder. You have an idea. You want a database running in the next sixty seconds. Supabase, Firebase, PlanetScale (when it still existed), Neon, Vercel Postgres — they all know this about you. They have designed their onboarding to get you from zero to a working database in under a minute, with no credit card required.

This is not generosity. It is a customer acquisition strategy, and an effective one.

Here is what happens next. You build your schema on their platform. You write queries using their client library. You integrate their auth system because it is right there. You deploy using their CLI. Over the course of a few weeks, your codebase develops a deep dependency on the platform's specific APIs, connection strings, client SDKs, and runtime assumptions.

By the time you need to pay, switching is not a pricing decision anymore. It is an engineering project. And that is exactly the point.

The free tier's job is not to serve you forever. Its job is to make leaving expensive enough that you pay whatever comes next. The entire model depends on the gap between "I could switch" and "I would have to rewrite half my backend to switch."

This is not a conspiracy theory. It is a business model that every major platform-as-a-service company has adopted because it works. The question is whether you account for it before you start building, or after you get your first real invoice.

If you are choosing a tech stack for a vibe-coded project, this is the single most important cost dynamic to understand.


The $0 to $25 to $599 Staircase

Let us look at Supabase specifically, because it is the platform most vibe coders reach for in 2026.

Supabase has four tiers:

Tier Monthly Cost Key Limits
Free $0 500 MB storage, pauses after 7 days of inactivity, 50K MAU
Pro $25 8 GB storage, 250 GB egress, 100K MAU, $10 compute credit
Team $599 SOC 2, RBAC, priority support, SLA
Enterprise Custom Custom everything

The Free tier's 500 MB cap and the inactivity pause make it non-viable for anything that needs to stay online. A paused database returns errors to your users until you manually unpause it. If you are shipping a real product — even a small one — you are on Pro.

Pro at $25/month sounds reasonable. But $25 is the base price, not the actual price. Supabase charges overages across multiple dimensions:

Resource Included in Pro Overage Rate
Database storage 8 GB $0.125/GB
Bandwidth (egress) 250 GB $0.09/GB
Monthly active users 100,000 $0.00325/MAU
Edge function invocations 2 million $2/million
File storage 100 GB $0.021/GB

In practice, a real app on Supabase Pro costs $35-200/month depending on traffic. Nobody pays exactly $25. For a detailed breakdown of how these overages compound, see our full Supabase pricing analysis.

Now look at the gap. When you outgrow Pro — because you need compliance, role-based access, or priority support — the next step is Team at $599/month.

That is a 24x jump with no intermediate option.

There is no $50 plan. No $100 plan. No $200 plan. You go from $25 (really $35-200 with overages) to $599. For a solo developer or a small team, that is the kind of price jump that forces you to rearchitect your infrastructure under pressure — at the exact moment when your product is growing and you should be focused on your users, not your database bill.


It Is Not Just Supabase

The free-tier-to-sticker-shock pipeline is not unique to Supabase. It is the standard pricing model across the entire "modern stack."

Provider Free Tier First Paid Tier Next Tier The Catch
Supabase $0 (500 MB, pauses) $25/mo (Pro) $599/mo (Team) 24x jump. Egress, MAU, storage overages on Pro.
Vercel $0 (hobby) $20/mo (Pro) $400+/mo (Enterprise) Bandwidth overages at $0.15/GB. Function execution charges.
Firebase $0 (Spark) Pay-as-you-go (Blaze) N/A Per-read billing. One viral post and your bill explodes. No ceiling.
PlanetScale Gone Gone Gone Killed free tier, then sold to Aiven. Thousands scrambled.
Neon $0 (0.5 GiB) $19/mo (Launch) $69/mo (Scale) Usage-based compute. Scales to zero, but also scales up.
Vercel Postgres $0 (256 MB) $20/mo $20/mo + overages Runs on Neon. Same compute scaling concerns plus Vercel's markup.

Each of these follows the same playbook:

  1. Free tier removes the decision. You do not compare options when one option costs nothing.
  2. First paid tier feels reasonable. $19-25/month is less than a nice lunch.
  3. Usage-based overages make the actual cost unpredictable. You do not know your real bill until the month ends.
  4. The next tier is a cliff, not a step. There is no gradual path up.

PlanetScale deserves special attention because it shows what happens when the free tier disappears entirely. In 2024, PlanetScale killed their Hobby plan and later sold the company to Aiven. Developers who had built on PlanetScale's free tier had to migrate their databases on short notice. If you were coupled to PlanetScale's branching workflow or their Vitess-based connection model, that migration was not trivial.

Firebase is the most extreme version of usage-based pricing. On the Blaze plan, you pay per document read ($0.06 per 100K reads), per document write ($0.18 per 100K writes), and per GB of egress ($0.12/GB). There is no monthly cap. A single Hacker News front-page appearance can generate hundreds of thousands of reads in hours. Firebase bills have gone from $0 to $30,000 in a single day — this is not theoretical; it has happened publicly and repeatedly.

The pattern is consistent: every platform that offers a free tier is betting that you will become dependent before you become profitable.


What Usage-Based Pricing Actually Means

Usage-based pricing sounds fair in theory. You pay for what you use. What could be more reasonable?

The problem is that your database costs scale with your users, but your revenue does not scale at the same rate — or at the same time.

Here is the math that breaks vibe-coded projects.

Say you are building a SaaS that charges $10/user/month. Your database provider charges $0.00325 per MAU (Supabase's overage rate). At small scale, the math is invisible:

Users MAU Overage Cost Your Revenue DB Cost as % of Revenue
1,000 $0 (under 100K limit) $10,000 0%
50,000 $0 (under 100K limit) $500,000 0%
100,000 $0 (at the limit) $1,000,000 0%
150,000 $162.50 $1,500,000 0.01%
200,000 $325 $2,000,000 0.02%

At $10/user/month with six-figure revenue, $325 in MAU overages is nothing. But most vibe-coded projects do not charge $10/user/month. Many are free with ads, freemium with low conversion, or charging $2-3/month in a competitive market.

Now the same table looks different:

Users MAU Overage Revenue ($2/user) Egress (est.) Storage Overages Total DB Cost DB as % of Revenue
1,000 $0 $2,000 $0 $0 $25 1.3%
10,000 $0 $20,000 $13.50 $0.88 $39 0.2%
100,000 $0 $200,000 $67.50 $5.25 $98 0.05%
200,000 $325 $400,000 $157.50 $12.50 $520 0.13%
200,000 (Team) Included $400,000 $67.50 $5.25 $672 0.17%

The percentages still look small in isolation. But database cost is just one line item. Add your application hosting, CDN, email service, monitoring, error tracking, and payment processing — infrastructure costs add up, and every usage-based service compounds the unpredictability.

The deeper issue is not the total cost at any given moment. It is that you cannot predict the cost. Your bill next month depends on how many users sign up, how much data they read, how much they store, and how often they hit your API. You will not know the number until the invoice arrives.

For a vibe coder building their first product, unpredictable infrastructure costs are the opposite of what you need. You need to know your burn rate. You need to know your runway. You cannot plan either when your biggest infrastructure cost is a variable.


The Alternative: Fixed-Price Infrastructure

There is a different way to run a database. It is not new. It is not exciting. It is a server with a fixed monthly price.

Managed databases with fixed monthly pricing (hands-off, backups included):

Provider Monthly Cost What You Get Pricing Model
DigitalOcean Managed DB $15/mo MySQL or Postgres, auto backups, failover, SSL Fixed
Vultr Managed DB $15/mo MySQL or Postgres, daily backups, SSL Fixed
Linode/Akamai Managed DB $15/mo MySQL or Postgres, daily backups, failover Fixed
Aiven $14/mo MySQL, Postgres, or 10+ others, multi-cloud Fixed per tier

Self-managed on a VPS (you install and maintain the database):

Provider Monthly Cost What You Get Pricing Model
Hetzner VPS $4.15/mo 2 GB RAM, 20 GB SSD, 20 TB transfer Fixed
DigitalOcean Droplet $6/mo 1 GB RAM, 25 GB SSD, 1 TB transfer Fixed
Vultr VPS $6/mo 1 GB RAM, 25 GB SSD, 2 TB transfer Fixed

The managed options deserve attention. DigitalOcean, Vultr, and Linode all offer fully managed MySQL and Postgres at $15/month — with automated daily backups, failover, SSL, and OS-level patching included. That is a genuine production-grade database for less than the base price of Supabase Pro, before overages. You get a connection string, point your app at it, and never think about database maintenance again.

A $6/month VPS running MySQL costs $6/month whether you have 100 users or 100,000 users. The VPS does not count your MAUs. It does not meter your egress on the internal network. It does not charge you per document read. It does not pause after a week of inactivity.

Your database bill in January is $15. Your database bill in December, after you have grown 10x, is still $15 — until you actually need more resources and deliberately upgrade to a larger tier. That upgrade is your decision, on your timeline, for a predictable amount.

The total cost comparison at scale is stark. For detailed numbers at every growth stage, see the full Supabase vs self-managed cost analysis.


But I Lose the Dashboard

The one real thing you give up when you leave a platform like Supabase is the built-in database GUI. Supabase Studio is a polished interface for browsing tables, running queries, and managing schema. If you move to a $6 VPS running MySQL, you get a mysql CLI prompt and nothing else.

This is a solvable problem, and it is cheaper to solve than you think.

Option 1: Desktop database clients. Tools like DBeaver (free, open source), TablePlus (freemium), or DataGrip (paid) run on your laptop and connect over SSH. They work, but they require your laptop, an SSH tunnel, and they are unavailable when you are on a different machine or a tablet.

Option 2: Self-hosted phpMyAdmin or Adminer. Free and open source, but you install them on your server, configure authentication, manage SSL certificates, and maintain another piece of software on your production box. That is another attack surface to secure and another thing to update.

Option 3: Hosted browser-based GUI. Services like DBEverywhere run phpMyAdmin and Adminer as a hosted service. You open a browser, enter your connection details, and manage your database. $5/month flat, no per-query fees, static IP for firewall whitelisting. Works from any device, any browser, no installation.

The total cost of a production database setup with a browser-based management interface:

Component Monthly Cost
DigitalOcean Managed DB $15
Browser-based database GUI $5
Total $20/mo, fixed

That is $20/month for a managed database with automated backups, a browser-based management interface accessible from anywhere, and completely predictable billing. Compare that to Supabase Pro's $35-200/month actual cost with usage-based overages. Or the $599 cliff when you need team features.

For more on how desktop clients, self-hosted tools, and hosted GUIs compare, see our guide on common vibe coding mistakes — choosing infrastructure you cannot afford to scale is one of them.


FAQ

Is Supabase's free tier good enough for side projects?

For prototyping and hackathons, yes. For anything that needs to stay online, no. Supabase's free tier pauses your database after 7 days of inactivity, which means your app returns errors to users until you manually unpause it. If you are building a portfolio piece, a landing page with a waitlist, or anything you expect people to actually use, the free tier will let you down at the worst moment. A $6/month VPS stays online 24/7 regardless of traffic.

When does Supabase get expensive?

The first pain point is overages on Pro. Once your app exceeds the included egress (250 GB), storage (8 GB), or MAU (100K) limits, charges start compounding. The second pain point is the jump to Team at $599/month — which becomes necessary when you need compliance certifications, role-based access control, or priority support. Most growing apps hit overages within 6-12 months and face the Team tier decision within 18-24 months. See the full cost breakdown for specific scenarios.

What is the cheapest production database setup?

A Hetzner VPS ($4.15/month) running MySQL or PostgreSQL is the cheapest option that is genuinely production-viable, assuming you are comfortable managing your own database backups and updates. If you want managed backups and failover without touching the server, DigitalOcean Managed Database at $15/month is the cheapest hands-off option. Add a browser-based GUI for $5/month and your total is $9-20/month, fixed, with no usage-based surprises.

Can I start free and migrate later?

You can, but the cost of migration increases the longer you wait. If you start on Supabase Free and only use it as a Postgres database, migrating is straightforward — pg_dump and pg_restore will move your data. But if you have adopted Supabase Auth, Realtime, Edge Functions, or Row Level Security policies, each of those dependencies adds migration complexity. The most cost-effective strategy is to choose infrastructure that does not require migration as you grow — which usually means starting with a database you control from day one.


Conclusion

The cheapest database is not the one with the lowest starting price. It is the one with predictable costs.

Every platform in the "modern stack" follows the same pattern: a free tier that removes friction, a low first paid tier that feels reasonable, usage-based overages that make your bill unpredictable, and a next tier that is a cliff instead of a step. The platforms are not hiding this. The pricing pages are public. But the psychology of free is powerful enough that most developers do not do the math until after they are locked in.

Here is a simple rule: if your database provider charges per-read, per-MAU, or per-GB-egress, you do not control your costs. They do. Your bill scales with your traffic, not your revenue, and you will not know the number until the invoice arrives.

Fixed-price infrastructure — a VPS or managed database at $6-15/month — gives you the same MySQL or PostgreSQL database with one difference: your bill next month is the same as your bill this month. That predictability is worth more than any free tier.

The free tier is not a gift. It is a bet that you will become dependent before you become profitable. The question is whether you take that bet knowingly, or discover the terms after the fact.

Try DBEverywhere Free

Access your database from any browser. No installation, no Docker, no SSH tunnels.

Get Started