Skip to content
Web design, custom software, SEO & practical AI
MIS, Inc.
🚧 Under construction. Best viewed at 800×600 🚧

How We Use Supabase as Our Backend Database

Supabase has run the database and authentication behind our own internal tools and client projects since 2023. Here is how a project actually ends up on it, not just why.

Supabase has run the database behind our own internal tools and client custom software since 2023. Not a trial, not one project, the actual backend for anything we build that needs real accounts and real data rather than a handful of pages.

We have already written about why we picked it. This is the more useful half: how a project actually ends up running on it.

It starts the same way every time

A client rarely asks for Supabase by name. What they describe is a portal, a member area, a dashboard, something with a login. That is the moment custom software becomes the right conversation instead of a website, and it is the moment Supabase becomes the default answer before we have talked about a single feature.

Spinning up a new project takes a few minutes: a fresh Postgres database, authentication switched on, and a set of row-level security policies that decide who is allowed to see or touch which rows. That last part matters more than it sounds. Without it, “who can see this” lives scattered across application code, one check per screen, one place for someone to forget it. With it, the rule lives once, next to the data it protects.

The database comes first, the rest follows

Everything else we use on a project is downstream of one fact: Supabase is Postgres, not a proprietary layer with its own rules to learn. That is what let us treat “set up the backend” as a solved problem instead of a decision to relitigate on every project.

Once the database and auth are in place, the rest gets added only when a project actually needs it, not because it is available:

  • Storage, when a project needs to keep files, on the same project as the data rather than a separate service we would have to stand up and wire in ourselves.
  • Edge Functions, when something has to run on a server instead of in the browser, a webhook, a scheduled job, a step we do not want a client’s browser tab responsible for.

Both sit behind the same row-level security we already set up for the database, so adding them does not mean re-deciding who is allowed to do what.

Where you would actually find it running

Several of the tools we build and use ourselves are built this way: a CRM for managing clients, contracts, and invoices; a prospecting tool for research and outreach; a project management application for running our own engagements; a personal read-it-later tool. Different jobs, same backend service underneath, because rebuilding that part from scratch on every project was never where the interesting work was.

Client work follows the same shape. A client portal that needs real accounts. An internal tool for a client’s own staff. A workflow that needs an actual database instead of a content management system doing an impression of one. If a project only needs to present information, none of this applies, and we say so before quoting a database and an auth system nobody asked for.

When we build it differently

Supabase is where we start, not a rule we follow past the point it makes sense. A large existing backend a project has to integrate with, data that does not fit a relational model, or hosting constraints the client sets can point somewhere else, and we say so rather than forcing the wrong stack onto a project because it is the one we already know. It is the same call we make on Astro versus Webflow: the project decides, not our own preference.

If you are trying to figure out whether what you need is a website or something with real accounts and data behind it, that question is worth a conversation before either of us commits to an answer. Book a free consultation and tell us what the software needs to do.

Want a second opinion?

We have been building websites in Albuquerque since 1995. Book a free consultation and we will tell you honestly what would help, including when the answer is that you do not need us.

Common questions

Does MIS, Inc. use Supabase for client projects, or only internally?

Both. Supabase has run our own internal tools since 2023, and it is also our default backend database whenever a client project needs real accounts and real data, not just pages.

Why does MIS, Inc. build authentication on Supabase instead of from scratch?

Password storage, session handling, email verification, and account recovery are areas where a mistake is a security problem, not a cosmetic one. Supabase’s auth layer sits on top of the same Postgres database, so we spend a project’s time on the workflow the client actually needs instead of rebuilding a login screen.

Does MIS, Inc. use more of Supabase than the database and authentication?

Yes. The same projects also use Supabase Storage for files a project needs to keep, and Edge Functions for the handful of things that need to run on a server rather than in the browser.

Is Supabase the right backend for every custom software project?

No. It is where we start because most projects need a relational database and real user accounts, and Supabase handles both well from day one. A project with an existing backend it has to integrate with, unusual data requirements, or constraints the client sets can call for something else, and we will say so.

Let’s talk about your project.

No pressure. Clear recommendations. 31 years of seeing what works.

Book a free consultation
You are visitor # 000000
✔ Best viewed in
Netscape Navigator