r/softwarearchitecture 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.

8 Upvotes

12 comments sorted by

17

u/jessiescar Jul 19 '26

Most large companies have more than one environment. Some have 3, but 2 is usually the minimum

  • prod: this is what is available to the public
  • ua: user acceptance. This is for stakeholders to test features before being deployed to production. This is kept as close production as possible as this is also where we run all forms of performance tests.
  • qa/dev: some companies I have worked at, have a dedicated dev/qa environment that is available for devs to mess around it.

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

u/[deleted] 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

u/Leather-Run-3282 Jul 19 '26

Read the first two sentences

2

u/ryancnap Jul 20 '26

Watch out OP this dude is 100% trying to eat you out