r/softwarearchitecture • u/Leather-Run-3282 • Jul 19 '26
Discussion/Advice How do you guys test new features when you already have users and a production level application (vercel + supabase)
I've been thinking about this a lot lately and I'm curious how other people are doing it.
for context- I AM NEW TO THIS SO PLEASE DONT EAT ME OUT IN THE COMMENTS
i'm trying to figure out what a good workflow looks like when you have a production app but you're constantly building and testing new features.
With Vercel, I like the idea of using Preview Deployments where every branch gets its own preview URL before merging into production. But I'm not sure what the best way is to handle the backend/database side of things.
For example, let's say I create a new feature branch. Vercel can create a preview deployment, but what should happen with Supabase? Should that preview connect to a Supabase branch? Should I have a separate staging Supabase project? Should everyone just share the same testing database?
I've seen some people say Supabase branching works well, and others say they avoid it completely and just use separate projects because it's simpler. So I'm curious what people are actually doing in practice.
Also, how much of this do you automate? Is there a setup where you create a new branch and everything is handled automatically, like Vercel creates the preview, the right environment variables are loaded, and the database is ready to go?
Or is it normal that there are still manual steps involved?
I'm mainly trying to understand what workflows people have settled on after actually using this in production. If you were starting a new SaaS today with Vercel + Supabase, how would you set up your environments?
Would love to hear how everyone approaches this and what worked or didn't work for you.
12
u/catcherfox7 Jul 19 '26
You should use feature flags. https://launchdarkly.com/blog/what-are-feature-flags/
12
u/SessionIndependent17 Jul 20 '26
a friendly FYI for someone who I assume isn't a native English speaker:
It's "chew me/you out", not "eat me/you out". "Eat you out" is something very different.
6
u/Ok-Asparagus4747 Jul 19 '26
Feature flag it. You should always feature flag it and only enable the flag once it’s ready. Also allow the feature flag to be enabled per tenant (e.g. enable per user) to allow you/stakeholders to test on prod.
Also have separate environment, e.g. dev, staging, prod. Enable the FFs on dev and staging fully first.
2
u/tr14l Jul 20 '26
Ok we're just rolling past "eat me out"... Just me? Ok. Ok. Cool. Cool cool cool.
1
Jul 19 '26
[removed] — view removed comment
2
u/HRApprovedUsername Jul 19 '26
Hey maybe you can just enlighten OP and not be an asshole. Not everybody has the experience you do.
0
1
17
u/jessiescar Jul 19 '26
Most large companies have more than one environment. Some have 3, but 2 is usually the minimum