Technology profile
Supabase
- What it is
- A backend platform built around a PostgreSQL database: authentication, file storage, real-time updates, server-side functions and vector search.
- Type and licence
- Open source project. It can be used as a service hosted by Supabase (with plans that change over time) or installed on your own infrastructure.
- Good for
- Web and mobile apps, customer portals, internal dashboards, MVPs and AI applications that need relational data and semantic search.
- Less suited to
- Company websites with no dynamic data, systems that must stay strictly on a specific provider's infrastructure, or teams that do not want to manage database-level access rules.
- Alternatives
- Firebase, separately hosted PostgreSQL (with your own backend), Appwrite, PocketBase, database services from the major cloud providers.
- How we use it
- For web applications and platforms where we need structured data, user accounts and clear permissions, including as the foundation for AI assistants that search documents.
Supabase is a backend platform built on the PostgreSQL database that gives you, in one place, the database, user authentication, file storage, real-time updates and server-side functions. In short, for a business Supabase is a ready-made foundation for web and mobile apps, which you can use as a hosted service or install on your own infrastructure, because it is open source.
If you are working on an app, a customer portal or an internal tool, someone on the technical team has probably mentioned Supabase, perhaps in comparison with Firebase. Below we explain, without unnecessary jargon, what the platform does, where it fits, what needs careful configuration and when it is better to choose something else.
In short
Supabase = a complete PostgreSQL database + ready-made services around it (accounts, files, real time, functions, vector search). It speeds up development considerably, but security depends on access rules being configured correctly in the database. It is not needed for a simple company website.
What Supabase is, explained simply
Any application that remembers something needs a “backend”: the invisible part that stores the data, checks who is allowed to see it and runs the business logic. Traditionally, the technical team builds this backend from scratch: they install a database, write code for accounts and passwords, set up a place for files, and so on.
Supabase packages these pieces into a single platform. At its centre is PostgreSQL (Postgres for short), one of the most widely used and mature open source relational databases. “Relational” means the data is organised in linked tables, for example customers, orders and products, which matches how most of a company's data looks.
An important advantage for a business: because the data sits in a standard Postgres database, it is not locked into a proprietary format. If at some point you want to move the application to other infrastructure, the data can be exported and used with ordinary Postgres tools. The move is not effortless, but it is far more predictable than with a closed format.
What the Supabase platform includes
- Database: full PostgreSQL, with tables, relations, SQL queries and extensions.
- Authentication: user accounts with email and password, passwordless magic links and sign-in through external providers such as Google.
- File storage: images, documents and other files uploaded by users, with access rules.
- Real time: the application can be notified instantly when data changes, useful for chat, notifications or dashboards that update themselves.
- Server-side functions (Edge Functions): pieces of code that run on the server, for example to send an email, process a payment or call an external service.
- Vector search (pgvector): a Postgres extension that enables search by meaning, often used in applications with artificial intelligence.
- Automatically generated API: the application can read and write data without the team writing every endpoint by hand.
The feature list keeps evolving, and the exact details and limits of each plan should be checked on the official website. The basic idea stays the same: less repetitive infrastructure code and more time for what makes your application different.
Supabase vs Firebase: what's the difference?
The Supabase vs Firebase comparison comes up in almost every discussion, because both offer a ready-made backend. The differences lie mainly in how the data is stored and how much control you have over it.
- Data model: Supabase uses relational tables (Postgres), while Firebase's main database stores documents. Data with many links, such as customers, orders and invoices, is usually modelled more naturally as relational.
- Queries: in Supabase you can use SQL, a standard language for complex reports and analysis. In Firebase, complex queries often require organising the data in advance or writing extra code.
- Openness: Supabase is open source and can be installed on your own servers. Firebase is a Google service, available only as a hosted service.
- Ecosystem: Firebase is tightly integrated with other Google services and has mature tools for mobile apps. Supabase relies on the broad Postgres ecosystem.
- Portability: a Postgres database can be moved to another provider with standard tools, which reduces dependence on a single provider.
Neither is “better” in absolute terms. Firebase can be a good choice for a mobile app that already relies heavily on Google services. Supabase tends to fit better when the data is structured, when you need reports or when you want to keep the option of hosting it yourself.
Why row level security (RLS) matters
This is the most important thing to understand about Supabase, even if you are not technical. Because the application can access the data directly through the automatically generated API, protection does not live only in the application code but in the database itself, through rules called Row Level Security (RLS).
In practice, an RLS rule says, for example: “a customer can see only their own orders” or “only staff in the finance department can see invoices”. The database applies the rule to every request, wherever it comes from.
Watch out
A table without correct RLS rules can expose data that no outsider should see. Ask the technical team to confirm that every table with real data has RLS enabled and tested rules, including with an account that has no permissions. Admin keys must never be placed in the browser or mobile app.
The good news is that, when configured well, this model is very solid: the rules live in one place, close to the data, and apply in the same way to the website, the mobile app and any integration. The less good news is that it requires discipline: every new table must get rules before it reaches production.
Supabase for applications with artificial intelligence
Many modern AI applications need to search information by meaning, not just by exact words. For example, an assistant that answers from the company's documents turns each text fragment into a vector, a list of numbers that describes its meaning, and then looks for the fragments closest to the user's question. This is the basis of RAG systems.
Through the pgvector extension, Supabase can store these vectors right next to the rest of the data. The practical advantage: the same RLS access rules can also apply to the document fragments, so the assistant searches only what the user asking is allowed to see. For very large volumes or special performance requirements you may need a dedicated vector database, but for many business projects a single database is simpler to manage.
Hosted or installed on your own servers?
Supabase can be used in two ways, and the choice has practical consequences.
- Hosted by Supabase: you get started quickly, updates and backups are handled by the provider, and the cost depends on the plan and usage. You choose the region where the data is stored, which is relevant for GDPR.
- Installed on your own infrastructure (self-hosted): you have full control over where and how the data is kept, but your team takes on updates, monitoring, backups and server security.
For most small and medium-sized companies, the hosted option is the sensible starting point. Self-hosting makes sense when there are strict requirements about where data is stored, or a team that can maintain the servers in the long term. Plan prices and limits change, so check them directly on the official pricing page.
When Supabase isn't the right choice
- A company website or blog with no accounts and no dynamic data does not need a full backend.
- If the company already has a stable database and backend, migrating just for the sake of the technology is rarely justified.
- If internal policy requires using one specific cloud provider exclusively, that provider's native services may be easier to get approved.
- If no one on the team can manage the access rules and the database schema, the risk of misconfiguration increases.
- Very complex business logic may require a separate backend anyway, with Supabase serving only as the database.
Practical tip
Before choosing the platform, write down on one page what data the application will hold, who is allowed to see what and which integrations are needed. That list makes the technology choice much clearer and can be reused directly when setting up the access rules.
What drives the cost of a Supabase project
The total cost is not just the platform subscription. It depends on the volume of data and files, the number of active users, traffic, how often server-side functions run and whether you choose the hosted or self-hosted option. On top of that comes the work of designing the data schema, access rules, integrations and maintenance. A schema that is well thought out from the start reduces later costs more than any optimisation done late.
At WEB-AZ we use Supabase when a project needs structured data, user accounts and clear permissions, including as the foundation for AI assistants that search documents. We start from the company's data and access rules, not from the technology, and we recommend a different solution when it is a better fit.
Next steps