all articles

No-code backends to use in your app

Andrii Bas
Founder & CEO at Sommo
No-code backends to use in your app
Create 10x faster with Sommo
✓ 9+ years experience
✓ 100+ products developed
✓ no-code&code expertise
✓ in-house development
contact us
Create mobile app with Natively
✓ automated conversion
✓ for any website/web app
✓ mobile native features
✓ updates without release
try Natively

No-code tools grew significantly in popularity, and now power many modern products and applications. Startups leveraged them to the fullest to launch and iterate their products quickly. And enterprises use them extensively to digitize and optimize internal processes.

When it comes to your no-code application, it can be split into 2 main parts: 

  1. Backend (with the database and key logic).
  2. Frontend (UI that displays the data and allows your users to consume the content and make actions).

Whether you want to build a quick MVP as quickly as possible or a production-ready service with your database in your location, no—code backends get yocovered.

Some no-code tools offer both of these solutions (like Bubble, Adalo, Glide). Others — only one part (for example, WeWeb or AppGyver have only the frontend part).

Even though that building a product with the frontend and backend together is faster and simpler, there are many cases when you’d need to split them. For example, to meet regulatory requirements (GDPR), or if the stakeholder wants to use a specific type of database (like Postgres).

Under “no-code backend” I mean the solution that meets the following requirements:

  1. Primarily no-code / low-code.
  2. Has database (persistent storage to store data).
  3. Has API to access/modify the data (preferably REST)
  4. Has the option to define logic / operations if needed.
  5. (Preferably) Has the option to authorize users and limit access to the data based on user authorization status, role, or other conditions.

Let’s see some of the solutions in action. 

Airtable / HeadlessCMS

Airtable offers the database, wonderful UI to view / edit it, and forms to submit new rows. Also, it has a well-documented and flexible API.

To start using Airtable API:

  1. Go to airtable.com/account, and copy your API_KEY.
  2. Use it to authorize your requests (with the header “Authorization: Bearer API_KEY”)
  3. Go to airtable.com/api, select the table you want to access, and the request you want to make. 

With Airtable Automations and Integrations, you can make achieve quite a lot of customization and implement pretty advanced logic. 

However, Airtable has 2 big limitations:

  1. Rate limit of only 5 requests per second (it’s enough for a small number of users, but if hundreds of users interact with your database, it would become an issue).
  2. No Authorization for end users (users cannot sign up / log in, and thus you cannot limit access to certain records based on the authorization status).

Similar to Airtable also functions the category of products Headless CMS, such as Strapi, Contentful, Storyblok. With them you can also define your data structure, and get an API to access/modify it. It’s useful for CMS-like collections where authorization* is not required (like blogs, public receipt books, listings, job posts, etc.).
* Even though some of them (like Strapi) support end-user authentication.

I’d give Airtable API: 9 / 10 ⭐

Bubble Data API

We at Sommo use Bubble together with their UI builder. But Bubble can also be used as a standalone backend solution, using their data models and Bubble Data API (docs).

To use Bubble as backend: 

  1. Upgrade the app to the paid plan.
  • only apps on the paid plan can use Data API.
  1. Enable Data API and Workflows.
  2. Generate API Token 
  • And keep it secure, it’s for Super Admin only, cos the API Token gives access to all the database without any restrictions.
  1. Create Workflows to /login and /signup users.
  • If you use “Login” or “Sign up” actions in the Bubble backend workflows, you’ll get a user access token as a response. Save this token, it will be the user authorization method. (see docs).
  1. Authorize users using workflows.
  • Sign them up and log in. Note: you’ll need also to regularly update the access token with the refresh token.
  1. Make API requests with the user access token.
  2. Set up Privacy Rules.
  • So that users have access only to models that they should have access to.

In this video, we show how to use Bubble as a standalone backend solution, using their data models and Bubble Data API.

The drawbacks of Bubble Data API:

  1. You cannot choose the location of your DB.
  2. Well, in theory, you can, by selecting the enterprise plan and moving your whole Bubble app to a separate instance in the desired location. But it costs thousands of dollars per month, which is too expensive for most users.
  3. Data API is limited. 
  4. Especially it’s hard to search/query collections with their “search constraints” (see docs).

My review for Bubble Data API: 8 / 10 ⭐

Supabase

Supabase is an open source solution that offers Postgres database, Authentication, instant APIs, Edge Functions, Realtime subscriptions, Storage, and more.

I love that Supabase is built on top of standard Postgres database, you can choose where to deploy it, to which you can connect, write SQL queries, view tables, etc. It’s very intuitive, has wonderful documentation, lots of examples and cases. And they have affordable pricing (free, then starting at $25 / month).

To start using Supabase:

  1. Create tables and schemas (private or public).
  2. Define auth provider (email/password, magic link, Google/Facebook, etc).
  3. Get Service key.
  • Like Bubble’s API Key, it gives unlimited access, so use it wisely and keep secured.
  1. Authorize users through their API, get user token.
  • Supabase uses standard JSON Web Token (jwt), that you can check on https://jwt.io/ 
  1. Make API request with user auth token.
  • Supabase uses PostgREST api (docs). It’s very simple and intuitive, yet powerful. Allows you to quickly filter / select data, just adding, for example “?id=gt.1&id=lt.100&select=price,id” to the URL).
  1. Define Row Level Security (RLS) policies (see docs).
  • Supabase uses standard Postgres policies, which are very flexible and powerful. You can easily set up limits to from simple such as “allow to insert rows only authorized users with role = ADMIN”, to more complex, like “allow only members of the team read team messaages”.

In this video, we show how to set up and use Supabase and why it's our top pick ⭐⭐⭐⭐⭐.

The drawbacks of Supabase are:

  1. Can be harder to get started. Preferably, you’d need to know basic SQL to be able to set up your DB and RLS policies correctly.
  2. Has some limitations, such as you cannot extend standard “users” table.

They recommend to create a separate own table “profiles”, link it to “users” and keep fields like “firstName”, “lastName” in “profiles”.

I’d give Supabase: 10 / 10 ⭐ (yeah, it’s my top pick).

Firebase

Firebase is a whole app development platform that helps you build … pretty much anything (in theory). It offers authorization, database (option to deploy to many regions), real-time updates, API, hosting, deployment, monitoring, analytics, A/B testing, and many other options.

In our case, we’re interested in Firebase as a no-code backend. To start using Firebase, you need to: 

  1. Create collections.
  2. Define auth provider (email/pass, magic link, Facebook/Google, etc).
  3. Get Project key (in project settings)
  4. Authorize users. 
  • You’ll be using Google Identity Provider API (docs).
  1. Make API request with user auth token. 
  • Here you’ll run into troubles, cos Firebase data API is … well … unique. It has a non-standard format, you’ll find it hard to process responses. And making a query request using their “StructuredQuery” model (docs) is another challenge.
  1. Define Security Rules (see docs).

This video shows the pros and cons of Firebase as a no-code backend.

The drawbacks of Firebase are:

  1. Very unique and specific API makes it hard to work with it.
  2. Filtering collections with “StructuredQuery” is very hard. You cannot even make a simple request with “contains string filter”... it’s a bummer.
  3. Documentation is complex, poor, with few examples.
  4. It’s run by Google, and you know that Google tends to kill it’s products (I bet they’d kill Firebase as well sooner or later).

Overall, Firebase is much better to use though their SDKs, or with native integrations (like inside FlutterFlow). But working with it through API is very hard and painful.

I’d give Firebase: 7 / 10 ⭐ .

Xano

Xano position itself specifically as “no-code backend”. It gives you a scalable server (in a chosen location), a flexible database, and a No-Code API builder that can transform, filter, and integrate with data from anywhere.

To start using Xano:

  1. Create tables and schemas.
  2. Update standard APIs they give you where needed.
  • Most likely you’d want to make most of them protected for authroized users only, filter some data, etc.
  1. Authorize users through their API, get user token.
  2. Make API request with user auth token.

That’s it. Xano is probably the easiest to start with. Moreover, Xano has a lot of educational content and resources for any level (from complete beginners to advanced).

Watch our demo video of how to start with Xano as a no-code backend for your app.

The drawbacks of Supabase are:

  1. Adding logic in the API is limited. 
  • I’ve found it hard to edit Xano api, combine/filter raws, etc. Their UI editor for this is limited. 
  1. More expensive compared to alternatives (starts from $67 / month).
  2. I experienced regular bugs, and it stopped working a few times (looks like the product is not polished yet).

I’d give Xano: 8 / 10 ⭐ .

Here is a brief comparison of the tools we have reviewed.

No-code backends comparison: Airtable, Bubble, Supabase, Xano

Other tools

There are a lot of other no-code backends; the list above is not exhaustive, of course. Some of the popular ones are:

  1. Back4App — low-code backend to build modern apps. It’s basically a UI wrapper over open source platform Parase (similar to Firebase in functionality). It’s quite nice, but I didn’t notice any pros compared to Supabase / Firebase. 
  2. Backendless — quite powerful, full stack visual app development platform. But I’ve found it slow, not extensible, and limited. 
  3. Altogic — a very powerful, customizable, and extendable no-code backend (supports many integrations, different environments, queues, cron jobs, caching, has a powerful Navigator and Tester). But it’s quite new, few cases/docs yet. Could be a great solution in a year or two.

Feel free to write in comments or tag us on Twitter with your favourite no-code backend solutions.

Summary

Our recommendations are When you need a no-code backend, go with:

  1. Supabase + Bubble / WeWeb when you need a web app.
  2. Firebase + Flutterflow when you need a mobile app.

Our talented team at Sommo can help you select the right stack or help you build the product for you. Don’t hesitate to contact us.

Andrii Bas
Founder & CEO at Sommo

Related posts

How to reuse components with Reusable elements and Popups | Bubble

This article will show how to use powerful Bubble features such as reusable elements and passing data to the popups to display data records in different places without any duplication.

how-to
tech talks
bubble

How to reuse components with Reusable elements and Popups | Bubble

Why use Bubble no-code platform for your project

Can the Bubble no-code platform bring your idea to life in a fraction of the time that traditional software development does? We’ll lay out the possibilities and limitations of Bubble in this article and help you make an informed decision.

bubble
tech talks
mvp
enterprise

Why use Bubble no-code platform for your project

Have an idea?
Let’s build your app 10x faster!

CONTACT US
Sommo development agency on ProductHunt
We are live on
!
Your support will help us a lot!