Launch your First App Quickly with Supabase & FlutterFlow – The FlutSup Stack

As an aspiring full-stack developer, the ability to seamlessly connect the backend with the frontend is essential. FlutterFlow and Supabase are two powerful tools that make this integration easier. FlutterFlow is a low-code platform for visually building cross-platform apps using Flutter, with the flexibility to add custom Dart code. Supabase, an open-source backend-as-a-service, offers a Postgres database, authentication, real-time updates, and storage—positioning itself as a Firebase alternative. With built-in support for Supabase, FlutterFlow makes full-stack development more accessible and efficient.
This blog assumes that you already have a FlutterFlow and Supabase account setup with some tables. If not, here is some documentation to help you get started:
- FlutterFlow - https://docs.flutterflow.io/
- Supabase - https://supabase.com/docs/guides/getting-started
Setting Up Integration
Assuming you're all set up, let’s walk through how to integrate a Supabase project into FlutterFlow. In my example, I have two tables: one called users (Figure 1) and another called orders (Figure 2).


Our first goal is to gather the Project URL and the anon API key, as these are required to connect Supabase with FlutterFlow. To do this:
- In your Supabase project, navigate to Project Settings > Data API to find your Project URL (Figure 3).
- While still in Project Settings, go to API Keys to find your anon key (Figure 4).


Once you’ve taken note of both the Project URL and the anon key, switch over to your FlutterFlow project (figure 5).
- Go to your Project Settings and select the Supabase Integration tab.
- Enable Supabase integration.
- Enter the Project URL and anon API key you retrieved earlier.

If everything is entered correctly, you should see your Supabase tables or views appear (Figure 6), meaning the connection has been successfully established.

How to Display Data Using the Supabase Integration
The next step is to display data from your Supabase tables in your FlutterFlow app.
Start by inserting a Column widget into your page, and within it, add a RichText widget. This RichText element will eventually show the table data.
To fetch data from Supabase:
- Click on the Column widget and set up a Backend Query using the Supabase Query option (Figure 7).
- From here, select the table you want to query, and choose whether to return a list of rows or a single row. You can also configure limits, filters, and sorting options (Figure 8).
- Click Confirm to apply the query.


Now that your query is set up, populate the RichText widget (figure 9):
- Click the RichText element to open its properties.
- Use different Text Spans within the RichText widget to display specific columns from your Supabase table.

By assigning different spans to different fields (e.g., username, email), you'll see the data render dynamically (Figure 10). Run the app in test mode to confirm that the integration and data fetching are working correctly (Figure 11).


Conclusion
Integrating Supabase with FlutterFlow unlocks powerful capabilities for building full-stack apps without writing boilerplate code. This walkthrough demonstrated how to connect a Supabase backend, display table data, and set up dynamic widgets in FlutterFlow. With this foundation, you can explore more advanced features such as user authentication, data filtering, and full CRUD operations—all from within a visual interface. Whether you're a beginner or refining your app-building workflow, the FlutSup stack offers a modern, efficient approach to full-stack development.