Skip to content
Home/Resources/Build guides/Mobile app with Flutter and Supabase
Build guide

Build Your First Mobile App for Free with Flutter and Supabase, Step by Step

By Younus FardeenUpdated 31 Oct 20263 min read
Short answer

Install Flutter and Android Studio, create a Flutter app, add the supabase_flutter package with your project URL and anon key, build sign-in and a list screen backed by a table with row-level security, run it on an emulator and build an APK to share. Everything is free; publishing to the Play Store costs a one-time fee.

You will buildA list app (tasks, expenses or notes) with email sign-in that syncs to a cloud database, running on Android, with a shareable APK.
Time5 to 8 hours
Cost₹0 to build and share an APK; Play Store publishing has a one-time fee
LevelBeginner to intermediate

Tools you need

The 10 steps

01

Install Flutter and Android Studio

Follow the Flutter install guide for your OS, install Android Studio with an emulator, and run flutter doctor until it reports no blocking issues.

02

Create the app

flutter create my_list_app, then flutter run on the emulator to confirm the counter app works.

03

Create a Supabase project and table

Create a free project. In the SQL editor create an items table with id, user_id (default auth.uid()), title, done and created_at; enable row-level security and add a policy that lets users read and write only their own rows.

04

Add the package

Add supabase_flutter to pubspec.yaml and run flutter pub get. In main.dart, call Supabase.initialize(url: ..., anonKey: ...) before runApp. Keep keys in a config file that is ignored by Git, or use --dart-define.

05

Build sign-in

A screen with an email field that calls supabase.auth.signInWithOtp(email: ...), and a listener on onAuthStateChange that moves to the list screen when signed in. Set the deep link or site URL in Supabase Auth settings for the magic link.

06

Build the list screen

Load items with supabase.from('items').select(), add with insert, toggle done with update, and delete. Use a FutureBuilder or a simple state class.

07

Make it feel like an app

Add pull-to-refresh, an empty state and a floating action button. Keep one accent colour and system fonts.

08

Test on a device

Enable developer mode on an Android phone, connect by USB and flutter run. Fix anything that only shows on a real device, such as keyboard overlap.

09

Build the APK

flutter build apk --release. Share the file from build/app/outputs/flutter-apk/ through a GitHub Release so others can install it.

10

Document

Screenshots, a short demo video, the data model and the row-level security policy in the README.

Make it yours

  • Offline cache with a local database and sync on reconnect.
  • Push notifications with Firebase Cloud Messaging (free).
  • Photo attachments using Supabase Storage.

Troubleshooting

ProblemFix
Magic link opens the browser but not the appConfigure a deep link (app scheme) in Android and add it to Supabase redirect URLs.
Insert failsThe policy requires a signed-in user and user_id must default to auth.uid().
Emulator is slowEnable hardware acceleration in Android Studio or test on a real phone.

Frequently asked questions

Can I publish the app for free?

You can build and share an APK for free. Publishing on Google Play needs a developer account with a one-time fee; the Apple App Store needs a yearly fee and a Mac.

Flutter or React Native?

Both work with Supabase. Flutter has a simpler setup for beginners; React Native suits people who already know React.

Is Supabase enough as a backend?

For most student apps, yes: auth, database, storage and row-level security without writing a server.

Learn this with mentors

Programmes for builders and engineers with admissions open: live classes, mentors and project work.

Continue learning

Project guide · Students

Final-year project ideas

36 ideas across AI, web, security, data and IoT, with viva prep.

Open guide →36 ideas
Project guide · Software

Software projects

Full-stack apps with auth, tests, real-time features and CI.

Open guide →23 ideas
Free tools

Free coding tools for students

A zero-cost stack to write, host and deploy code.

See the list →12 tools