The backend decision nobody talks about
Every project starts with a backend decision. Most teams agonise over it. Custom Node.js? Django? Rails? Serverless? The decision feels important because it feels permanent.
Three years ago we started defaulting to Supabase for the majority of our client projects. We've shipped over thirty projects on it. Here's what we've learned.
What Supabase actually gives you
PostgreSQL with sensible defaults. Row-level security that actually works. Auth that takes an hour to implement, not a week. Real-time subscriptions out of the box. Edge functions when you need server-side logic. Storage for files. Vector support for AI features.
The honest answer to why we use it: we've stopped solving problems that are already solved. Every hour spent building auth infrastructure is an hour not spent on the actual product.
We don't build custom backends to prove we can. We build products to prove they work.
When we don't use it
High-traffic applications that need extreme horizontal scaling and custom database configuration. Projects with existing backend infrastructure that would cost more to replace than to extend. That's about it.
For everything else: Supabase. Ship faster. Sleep better.
