Every vibe-coded app and AI agent needs the same backend: Postgres, auth, file storage and a place for embeddings. Supabase bundles it on one $25 plan, which holds until the embeddings outgrow the plan's RAM.
Supabase is winning this market. It raised a $500M Series F at a $10 billion pre-money valuation on June 4, 2026, and said more than 60 percent of its new databases are launched by an AI tool. On October 2, 2026, it announced it is acquiring Turso. We priced one AI app with 500,000 OpenAI embeddings on Supabase and seven alternatives: $225 a month on Supabase, $175 on InsForge or Appwrite, $224 on Firebase, $315 on Neon and $402 on Convex.
Why Supabase's $25 Plan Is Not an AI App's Bill
Supabase's pricing page, checked October 15, 2026, sells Pro from $25 a month with one project, 100,000 monthly active users, an 8 GB disk, 250 GB of egress and 100 GB of file storage. The plan includes $10 of compute credit, enough for one Micro instance: shared CPU and 1 GB of RAM.

A pgvector HNSW index wants to live in RAM. Supabase's own compute guide for vector workloads benchmarks 1,536-dimension OpenAI embeddings per compute size: Micro at 15,000 vectors while swapping, Large (8 GB, $110) at 224,482, and XL (16 GB, $210) at 500,000 using 13 GB. Past Micro, compute is an hourly add-on and most of the invoice.
The second cost is lock-in: row-level security policies that call Supabase Auth's auth.uid() helper must be rewritten when you change auth providers, usually a bigger job than the pg_dump.
What the Same AI App Costs on Each Backend
Our worked example is a support assistant with 25,000 monthly active users, an 8 GB Postgres database holding 500,000 OpenAI embeddings, 100 GB of uploads, 250 GB of egress and 1,000,000 vector searches a month, built by three developers. Every Postgres platform gets the 16 GB of RAM Supabase's benchmark assigns to that index. Rates come from each vendor's pricing page or docs, read October 15, 2026.
js// price-ai-backend.mjs - one AI app, priced on each backend's published rates (checked October 15, 2026) const APP = { mau: 25_000, dbGB: 8, // Postgres, mostly a table of OpenAI embeddings vectors: 500_000, // 1536 dimensions each ramGB: 16, // Supabase's HNSW benchmark puts 500,000 x 1536 on XL: 16 GB, 13 GB used filesGB: 100, egressGB: 250, searches: 1_000_000, // 40 vector searches per user per month devs: 3, } const HOURS = 730 const over = (used, included, rate) => Math.max(0, used - included) * rate const rows = [ // What the $25 sticker buys: the credit covers Micro (1 GB), which Supabase's own // benchmark sizes at 15,000 vectors of 1536 dimensions. Shown for reference. ["Supabase Pro, Micro (15k vectors)", 25], // Pro $25 incl. $10 compute credit; XL (4 vCPU, 16 GB) $210. Pro includes 100k MAU, // 8 GB disk, 100 GB files, 250 GB egress. ["Supabase Pro + XL compute", 25 + 210 - 10 + over(APP.mau, 100_000, 0.00325) + over(APP.dbGB, 8, 0.125) + over(APP.filesGB, 100, 0.0213) + over(APP.egressGB, 250, 0.09)], // Pro $25 incl. $10 compute credit; XLarge (4 vCPU, 16 GB) $160. Same allowances as above. ["InsForge Pro + XLarge compute", 25 + 160 - 10 + over(APP.mau, 100_000, 0.00325) + over(APP.dbGB, 8, 0.125) + over(APP.filesGB, 100, 0.021) + over(APP.egressGB, 250, 0.09)], // Pro $25 incl. $10 compute credit; managed PostgreSQL "Business" (4 cores, 16 GB, // 500 GB disk) $160. Pro includes 200k MAU, 150 GB storage, 2 TB bandwidth. ["Appwrite Pro + Business Postgres", 25 + 160 - 10 + over(APP.mau, 200_000, 3 / 1000) + over(APP.filesGB, 150, 0.028)], // SQL Connect runs Cloud SQL for PostgreSQL. Enterprise edition, us-central1: // $0.0413/vCPU-hour, $0.007/GiB-hour, SSD $0.000232877/GiB-hour. SQL Connect: 250k // operations free, then $0.90/million. Auth free (50k MAU with Identity Platform). Cloud Storage: 5 GB free, // then $0.02/GiB; 100 GB of downloads free, then $0.12/GiB. ["Firebase SQL Connect (Cloud SQL)", (4 * 0.0413 + APP.ramGB * 0.007) * HOURS + APP.dbGB * 0.000232877 * HOURS + over(APP.searches, 250_000, 0.9 / 1e6) + over(APP.filesGB, 5, 0.000027397 * HOURS) + over(APP.egressGB, 100, 0.12)], // Launch: $0.106/CU-hour, 1 CU = ~4 GB RAM, kept at 4 CU all month (no scale to zero). // $0.35/GB-month storage, Object Storage $0.023/GB-month, 500 GB egress included, // Managed Better Auth free to 1M MAU. Excludes history (WAL) storage at $0.20/GB-month. ["Neon Launch, 4 CU always on", (APP.ramGB / 4) * HOURS * 0.106 + APP.dbGB * 0.35 + APP.filesGB * 0.023 + over(APP.egressGB, 500, 0.10)], // Professional $25 per developer. Vector search bills the full index size per query. // Index size is not published; assume raw float32: 500,000 x 1536 x 4 bytes = 3.07 GB. // 1 GB search storage then $0.50/GB; 50,000 query-GB then $0.10 per 1,000; // 100 GB files included; 50 GB egress then $0.12/GB. ["Convex Professional, 3 devs", (() => { const indexGB = (APP.vectors * 1536 * 4) / 1e9 return 25 * APP.devs + over(indexGB, 1, 0.5) + over(APP.searches * indexGB, 50_000, 0.10 / 1000) + over(APP.filesGB, 100, 0.03) + over(APP.egressGB, 50, 0.12) })()], // Pro $25 incl. $15 compute credit, which also counts against dedicated compute. // Dedicated is $50 per vCPU with 2 GB each, set for Postgres, GraphQL, Auth and Storage // together, so 16 GB across the four = 8 vCPUs. 10 GB database, 50 GB storage then // $0.05/GB, 50 GB egress then $0.10/GB. ["Nhost Pro + 8 dedicated vCPU", 25 + (APP.ramGB / 2) * 50 - 15 + over(APP.dbGB, 10, 0.20) + over(APP.filesGB, 50, 0.05) + over(APP.egressGB, 50, 0.10)], ["PocketBase (self-hosted)", null], ] const usd = (n) => `$${n.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}` console.log(`${APP.mau.toLocaleString("en-US")} MAU, ${APP.dbGB} GB Postgres with ${APP.vectors.toLocaleString("en-US")} embeddings ` + `(${APP.ramGB} GB RAM), ${APP.filesGB} GB files, ${APP.egressGB} GB egress, ${APP.searches.toLocaleString("en-US")} searches\n`) for (const [name, cost] of rows) { console.log(name.padEnd(36) + (cost === null ? "$0 + your server, no vector index" : usd(cost))) }
text25,000 MAU, 8 GB Postgres with 500,000 embeddings (16 GB RAM), 100 GB files, 250 GB egress, 1,000,000 searches Supabase Pro, Micro (15k vectors) $25.00 Supabase Pro + XL compute $225.00 InsForge Pro + XLarge compute $175.00 Appwrite Pro + Business Postgres $175.00 Firebase SQL Connect (Cloud SQL) $224.29 Neon Launch, 4 CU always on $314.62 Convex Professional, 3 devs $402.24 Nhost Pro + 8 dedicated vCPU $432.50 PocketBase (self-hosted) $0 + your server, no vector index
On every Postgres platform, 16 GB of RAM is most of the bill, so this ranks memory prices. Convex is the exception: it bills each search by the full size of the index, and $302 of its $402 is the 1,000,000 searches. Convex does not publish index sizes, so we assumed raw float32, 3.07 GB, likely a floor since Convex stores vectors as float64; its Search storage meter shows the real figure. Neon would cost far less for an app that idles; this one cannot scale to zero without dropping its index from memory.
InsForge: Supabase's Shape, Operated by Your Coding Agent
InsForge is a Y Combinator-backed, Apache-2.0 backend built for AI coding agents: Postgres with pgvector, auth, storage, edge functions, realtime, hosting and a model gateway.

Your coding agent operates it directly, through an MCP server (self-hosted and cloud) or a CLI with Skills (cloud only). The Pro plan copies Supabase's allowances and overage rates almost line for line. Memory is where it undercuts: 16 GB of compute costs $160 instead of $210.
It is far less proven, though, with 13,119 GitHub stars against Supabase's 111,584. And each project's API server shares one instance with Postgres, so XLarge's 16 GB is not all yours for the index.
Pricing: Free $0 · Pro $25/month ($20 billed yearly) with $10 compute credit · XLarge 16 GB $160/month · License: Apache-2.0, v2.3.4 released October 13, 2026.
Neon: Postgres That Branches, Now With Auth and Storage
Neon, now part of Databricks, sells a backend suite around its Lakebase Postgres: Managed Better Auth, S3-compatible Object Storage, Functions and an AI Gateway billed at provider list prices.

Neon is priced for databases that sleep. Four CUs (about 16 GB) held around the clock cost $309.52 a month before history storage. The suite also lists no realtime service.
Flip the workload and Neon makes more sense. Branches and scale-to-zero make a database per agent or preview cheap, and the Free plan includes 100 projects. Managed Better Auth keeps users and sessions in your own Postgres, so auth branches with your data and costs nothing up to 1,000,000 MAU.
Pricing: Launch $0.106/CU-hour · $0.35/GB-month storage · Object Storage $0.023/GB-month · 500 GB egress included · License: Apache-2.0 (neondatabase/neon, 23,208 stars).
Appwrite: Managed Postgres on Fixed Compute Tiers
Appwrite is a BSD-3-Clause backend that runs on its cloud or your servers, and its cloud now sells dedicated databases: PostgreSQL, MySQL, DocumentsDB and VectorsDB.

Appwrite's draw is a bill you can predict. Managed PostgreSQL runs version 18 with pgvector, and the Business tier (4 cores, 16 GB, 500 GB disk, 2 TB bandwidth) is a flat $160. Or skip pgvector: VectorsDB builds an HNSW index and generates embeddings with built-in Nomic and MiniLM models, 10 million tokens each a month on Pro.
Postgres never lands on the cheap serverless tier, though. It needs a dedicated database from $10. A high-availability replica costs the full tier price again, and point-in-time recovery adds 20 percent.
Pricing: Free $0 · Start $10/month (3 members) · Pro $25/month (unlimited members, 200K MAU, 2 TB bandwidth) · License: BSD-3-Clause, 57,691 stars, 2.5.0 released October 13, 2026.
Firebase: pgvector Through SQL Connect
Firebase SQL Connect, which Google renamed from Data Connect, puts a GraphQL schema and type-safe SDKs over Cloud SQL for PostgreSQL. Vector search uses pgvector, with embeddings generated through Vertex AI.

For apps already on Firebase Auth, this is the short path. Email and social sign-in carry no per-user charge, and SQL Connect also works with Firebase AI Logic. In us-central1, 4 vCPUs with 16 GiB of Cloud SQL cost $202.36 a month, below Supabase's XL, and the first Cloud SQL instance gets a three-month trial.
The bill is harder to read. This app touches three price lists (Cloud SQL, SQL Connect operations at $0.90 per million past 250,000, Cloud Storage), mostly in GiB. Vertex AI usage bills separately, and nothing self-hosts.
Pricing: Cloud SQL from $9.37/month after the trial · Auth free (50K MAU with Identity Platform) · License: proprietary.
Nhost: Postgres Behind a GraphQL API
Nhost bundles Postgres, Hasura GraphQL, auth, storage and functions under the MIT license, with a self-hosted edition.

Nhost came out most expensive here because you cannot buy memory on its own. Dedicated compute is $50 per vCPU with 2 GB each and covers Postgres, GraphQL, Auth and Storage together. Giving all four 16 GB means eight vCPUs and $400.
The AI side is more interesting. Graphite, its AI add-on, generates embeddings into pgvector as rows change and serves similarity search through GraphQL, though with OpenAI only. Constellation, its own Hasura-compatible engine, is in opt-in alpha and uses about 90 percent less memory than Hasura, by Nhost's measurement. The CLI ships an MCP server.
Pricing: Starter $0 · Pro $25/month with $15 compute credit · dedicated $50/vCPU/month · License: MIT, 9,356 stars.
Convex: Vector Search Billed per Query
Convex is a reactive TypeScript backend: queries are functions that re-run when data changes, with built-in vector search, file storage and auth.

There is no RAM to size. Vector search is part of the database, and Professional includes 50 GB of database storage and 100 GB of files. Reactive queries also mean a chat UI needs no polling code of its own.
You pay per search instead. Its docs say each search "counts the full size of the vector index it runs against," and vector search runs only inside actions, with cosine similarity only and at most 256 results. Seats cost $25 per developer.
Pricing: Professional $25/developer/month · 50,000 query-GB included, then $0.10 per 1,000 · License: FSL Apache 2.0, which becomes Apache-2.0 after two years (convex-backend, 12,700 stars).
PocketBase: One Go Binary and SQLite
PocketBase is an MIT-licensed backend in one file: SQLite, realtime subscriptions, auth, file storage on disk or S3, and an admin dashboard, extensible with Go or JavaScript hooks.

Nothing on this list needs less setup. An agent can run a full backend on a laptop or small VPS with no account and no bill.
Two gaps rule it out for this app. There is no built-in vector index, and its docs say it is "NOT recommended for production critical applications yet" before v1.0.0.
License and version: MIT, 61,421 stars, v0.40.5 released October 8, 2026 · Cost: your server.
Side by Side
| Backend | Database | Vector search | This app per month | Self-host | License |
|---|---|---|---|---|---|
| Supabase | Postgres | pgvector | $225.00 | Yes | Apache-2.0 |
| InsForge | Postgres | pgvector | $175.00 | Yes | Apache-2.0 |
| Appwrite | Postgres, MySQL, VectorsDB | pgvector, VectorsDB | $175.00 | Yes | BSD-3-Clause |
| Firebase | Cloud SQL Postgres | pgvector | $224.29 | No | Proprietary |
| Neon | Postgres | pgvector | $314.62 | Database only | Apache-2.0 |
| Convex | Convex | Built in, per query | $402.24 | Yes | FSL Apache 2.0 |
| Nhost | Postgres | pgvector | $432.50 | Yes | MIT |
| PocketBase | SQLite | None | $0 + server | Yes | MIT |
How to Choose Without Migrating Twice
- Measure the index before you shop. Count your vectors and dimensions and look them up in Supabase's benchmark table. If they fit Micro, the $25 plan already covers you.
- Try smaller embeddings first. The same benchmark runs 100,000 vectors of 384 dimensions on Micro against 15,000 at 1,536. A smaller model can cut a compute tier before any migration.
- Grep your policies for
auth.uid(). Each match is a policy to rewrite if you leave Supabase Auth; a long list is a reason to stay and shrink the index instead. - Multiply searches by index size on Convex. At a 3 GB index, each search costs about $0.0003 after the included 50,000 query-GB.
- Read the license before self-hosting. Apache-2.0, BSD-3-Clause and MIT let you run a hosted copy for customers; Convex's FSL bars a competing hosted product until each release turns Apache-2.0.
Which One Should You Actually Use?
Your coding agent writes the backend: InsForge, Supabase's shape for $50 less a month on this app.
You want a flat monthly bill with vectors: Appwrite, with managed Postgres 18 on the $160 Business tier.
Already on Firebase Auth or Google Cloud: SQL Connect, where pgvector on Cloud SQL costs about what Supabase does.
A database per agent, preview or customer: Neon, for scale-to-zero and branching, not a 16 GB index that never sleeps.
A realtime TypeScript app with a small index: Convex, after multiplying searches by index size.
A prototype on a laptop: PocketBase, and plan the move before you need vectors.
Staying on Supabase: shrink the embeddings and size compute from its own benchmark table.
Conclusion
Supabase spent 2026 claiming the agent backend with app MCP servers, Supabase Compute and Turso, which stays on SQLite. The alternatives compete on memory prices and search metering. Before renewing, measure your vector index and price the RAM it needs. On this app, memory was most of every Postgres bill.
Related DevToolLab Tools
- Cosine Similarity Calculator - check a vector search's scores against two embeddings by hand.
- JWT Signature Verifier - confirm tokens from a new auth provider verify before you rewrite
auth.uid()policies. - Connection String Parser - split a Postgres URL into host, port and SSL mode when repointing
DATABASE_URL. - Data Storage Converter - convert between GB and GiB, since Google bills Cloud SQL and Cloud Storage in GiB.
Related Guides
- Firebase Alternatives, Priced - Supabase, Appwrite, Convex and PocketBase priced for a team leaving Firebase.
- Best Serverless Postgres - Neon against Supabase, and where scale-to-zero pays.
- Best Vector Databases - when the index outgrows pgvector.
- Best Authentication Providers - Auth0, Clerk and WorkOS, for teams unbundling auth.
