~/VibeHandbook
$39

Chapter 14 · 02

Managed vs Self-Hosted

You can run a yourself on a server, or rent a managed one (Supabase, Neon, PlanetScale, RDS, Cloudflare D1) where the provider handles backups, patching, and uptime.

For vibe coding, always start managed. Self-hosting a database means you are now responsible for backups, security updates, disk space, and 3 a.m. recovery. That is real operations work that distracts from building. Managed services cost a little money and save enormous time and risk. Graduate to self-hosting only when you have a concrete reason and the skills to back it up.

When you pick a managed provider, it's worth knowing what you're actually paying for, because the marketing pages blur together. A few things genuinely differ:

  • Connection model. platforms (Cloudflare Workers, Vercel functions) open and close database connections constantly, which can exhaust a classic Postgres connection pool. Providers like Neon and Supabase ship a connection pooler (PgBouncer or equivalent) for exactly this — use the pooled connection string in serverless code.
  • Branching and backups. Neon and PlanetScale let you "" the database like , so you can test a migration on a copy. Confirm point-in-time recovery is on, and know how far back it goes.
  • Lock-in. D1 and DynamoDB are excellent but tie you to one cloud. Plain Postgres (Supabase, Neon, RDS) is portable — your schema and queries move to any Postgres host. For most beginners, portable is the safer long-term bet.

Want it offline?

Get the PDF + EPUB + downloadable prompt library + version updates.

$ Get the PDF — $39