Plate is our restaurant ops dashboard. We launched on Vercel + Next.js + Supabase. Supabase got us to a working v1 in an afternoon: auth, storage, realtime, and Postgres all wired in. It did exactly what it is built to do, and it did it well.
Two months in, we moved the database to a more robust non-relational store I will not name here. It was the highest-ROI pivot we have made.
The reason was shape, not platform. Our schema was a document graph wearing a Postgres mask: orders linked to outlets linked to menus linked to items, deeply nested, mostly written once and read many times. We were doing the join work in application code. The database we eventually chose lets the data live in its natural form.
Plate now ships as a Vite SPA on Cloudflare Workers. Read latencies dropped by an order of magnitude. The customer experience changed visibly within a week. Total monthly infra came in lower than the previous setup.
Two months is the shortest window any pivot of mine has paid back in. The lesson is not which database is "better." It is that the cost of bending a schema to fit your stack compounds quietly, and the day you notice is later than ideal.