Postgres or Firestore? Choosing the Database Under a Vibe-Coded Site
Four live products, two database families, and the handful of questions that actually decide which one belongs under your site.
This post is part of Beyond the Hybrid, my guide to the web architecture ladder, from legacy CMS to sites that own their own database.
Once WordPress is gone, the first real decision is the one WordPress used to make for you: where the data lives. AI coding tools will happily scaffold any database you name. They will not tell you which one your business needs.
What my four full-stack builds run on
| Site | Rung | Data | Rendering | Raw words | Mobile Lighthouse (perf / SEO / a11y) |
|---|---|---|---|---|---|
| Lakewood Ranch AI | Full-stack | Cloud Firestore | Client-side (SPA) | 179 | 98 / 100 / 94 |
| OneFront | Full-stack | Neon Postgres | Server + prerender (Next.js) | 772 | 99 / 100 / 100 |
| ClipMaster | Full-stack | Postgres | Server (Next.js RSC) | 1,145 | 93 / 100 / 100 |
| Florida Man AI | Full-stack | Postgres (Prisma) | Server (Next.js) | 655 | 94 / 100 / 94 |
Raw words: visible text in the HTML before JavaScript runs, which is what most AI crawlers read. Lighthouse: mobile lab runs under simulated slow 4G and a 4x CPU slowdown, median of five, measured October 2026.
Three of the four are relational: Postgres, reached through an ORM (Drizzle or Prisma) that keeps the schema in version control. One is a document store: Cloud Firestore, paired with Firebase Auth.
When a relational database is the right call
Postgres earns its place when your records relate to each other in ways that must stay true. Florida Man AI’s schema connects stories to sources, claims, review events and generated media, and a broken link between them is a real editorial problem. Relational constraints enforce that for you. An ORM with migrations also gives you a written history of how the data model changed, which matters the day a second engineer joins.
Managed serverless Postgres has removed most of the old operational pain. OneFront runs on Neon, which scales the database down when idle and up when traffic arrives.
When a document store is the right call
Firestore earns its place when you want authentication, real-time reads and client access rules from one provider, and your records are mostly self-contained documents. Lakewood Ranch AI’s business listings, events and classifieds fit that shape, and Firebase Auth gave it Google sign-in on day one. The trade-off is that relationships and reporting take more deliberate design, because the database will not enforce them for you.
The questions that actually decide it
- Do your records reference each other in ways that must never break? Lean relational.
- Do you need live updates on screen and sign-in out of the box? A document store with built-in auth gets you there fastest.
- Will you report across the whole dataset? SQL makes that ordinary. Document stores make it a project.
- Who will maintain the schema? Pick the model your next engineer already knows.
- Where does the rest of your stack live? Staying inside one cloud’s ecosystem removes a class of integration work.
What matters more than the brand name
In practice the database choice matters less than three habits around it: write the data model down before you generate code, keep schema changes in migrations rather than ad-hoc edits, and restore a backup at least once before you need to. AI makes the first version of a database trivially easy to create. It does nothing to make the hundredth change safe.
Where to go from here
If you are trying to work out which rung your site belongs on, start with the full ladder, or see rebuild options and price ranges. If you would rather just ask, tell me what your site has to do and I will tell you what I would build.