Create Free APK

Backend and accounts

Supabase Backend (Connect It Once)

Connect your own free Supabase project - cloud database, user accounts and storage for AI-generated apps

AppMint

1What connecting Supabase gives you#

By default an AI-generated app keeps its data on the one phone it is installed on - 'Offline' mode. Connect Supabase and the same app gets a real cloud database (Postgres), user accounts, and file storage, so data is shared across devices and users.

It is BRING-YOUR-OWN: the app talks to YOUR free Supabase project. AppMint hosts nothing for you and charges nothing extra for it.

You do not design tables or write SQL. AppMint works out the schema from your app description, applies it, and keeps it in sync on every build.

2What you need first#

A free Supabase account - that is all. You do NOT need to create a project first; AppMint can create one for you during sign-in.

Worth knowing about the free plan:

  • 2 projects per organisation.
  • Projects pause after a week of no traffic and wake on the next request.

If you already have a project you want to reuse, that works too - AppMint puts each app in its own schema inside it, so several apps can share one project.

In AI Studio, under 'WHERE YOUR APP'S DATA LIVES', tap the 'Supabase' card (it reads 'Tap to connect'). Choose 'Sign in with OAuth'.

Your browser opens Supabase, you sign in and approve AppMint, and you land back in the app automatically - there is no token to copy.

The same thing is available from the βš™ Settings gear β†’ 'BACKEND - SUPABASE' β†’ 'πŸ”— Connect Supabase (OAuth)'.

4Pick or create the project#

Straight after approving, AppMint shows 'Pick a Supabase project':

  • Choose an existing project, or
  • Tap 'βž• Create new project…' β†’ pick the organisation β†’ name it (e.g. appmint-prod) β†’ pick a region close to your users (this cannot be changed later) β†’ 'Create'. Provisioning takes 1-2 minutes.

When AppMint creates the project it shows the database password ONCE, because Supabase only stores a hash of it. Copy it somewhere safe before closing that dialog - you do not need it for AppMint, but you will need it to connect any other tool.

Hit the free-tier limit ('Free tier allows 2 projects per organization')? Pick an existing project instead, or upgrade in the Supabase dashboard.

5Or connect manually (self-hosted / no OAuth)#

Settings β†’ 'BACKEND - SUPABASE' β†’ 'MANUAL / SELF-HOSTED':

  1. Project URL - from your Supabase dashboard, Project Settings β†’ API. It looks like https://YOUR-PROJECT-REF.supabase.co
  2. anon key - the publishable key from the same page; it starts with 'eyJ'. This key is designed to be public: Row-Level Security is what protects your data, not hiding the key.
  3. Turn on 'Enable Supabase backend for generated apps' and tap 'Save Supabase config'.

Tick 'Self-hosted instance' if you run Supabase yourself. Manual mode cannot auto-deploy the schema on Cloud - add a Personal Access Token (next step) if you want that.

Project URL   https://abcdefghijkl.supabase.co
anon key      eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

6What AppMint does on every build#

Once connected, each generation does the backend work for you:

  • Applies the schema the AI wrote (tables, indexes, Row-Level-Security policies).
  • Runs the seed data, if the app needs any.
  • Creates Storage buckets for uploads and images.
  • Deploys edge functions (payments, email, webhooks) and skips ones that have not changed.
  • Sets the auth providers and Site URL.
  • Runs a security gate and a migration gate, then pulls TypeScript types back into the project.

Your app's tables live in their own schema named appmint_<your app>. User accounts are shared across every app in the project, so one sign-up works everywhere.

7Check that it worked#

Two quick checks:

  • The 'Supabase' card in AI Studio now reads 'Connected', and Settings shows the project ref.
  • Settings β†’ 'DIAGNOSTICS' β†’ '⚑ Test Supabase connection' - it reports success or the exact error.

After you generate an app, open your Supabase dashboard β†’ Table Editor and switch the schema selector from 'public' to appmint_<your app> to see the tables AppMint created.

8Which keys are safe where#

  • anon key - safe inside generated apps. Row-Level Security decides what each signed-in user may read or write.
  • service_role key - NEVER goes into an app. AppMint stores it encrypted on this device only, and uses it for Storage buckets and self-hosted schema apply.
  • Personal Access Token (sbp_…) - also device-only; it lets AppMint deploy schema and edge functions on Supabase Cloud automatically. Create one at supabase.com/dashboard/account/tokens with read + write project scope.

Both optional keys live in Settings β†’ 'ADVANCED - DEPLOY CREDENTIALS'.

9Unlocks: Google Sign-In, Stripe, Remote Update#

Several features need Supabase connected first, and will send you here until it is:

  • 'Continue with Google' in generated apps.
  • Stripe payments (the checkout runs in an edge function in your project).
  • Remote Update - the updates you push to installed apps are stored in your own Supabase project.

Connect once and all three become available; you do not repeat this per app.

10Removing an app's backend#

Settings β†’ 'DANGER ZONE' (visible when connected):

  • 'πŸ“‹ List & delete project tables' - browse every table AppMint created and delete the ones you no longer need.
  • 'πŸ—‘ Delete this whole app backend' - removes that app's schema, and optionally its Storage buckets and edge functions. You type DELETE to confirm.

Choose 'Data only' if you are unsure: buckets and edge functions are shared across the whole project, not per app. Your user accounts are never touched.

To disconnect entirely: Settings β†’ 'ONE-TAP OAUTH' β†’ 'πŸ”’ Disconnect Supabase OAuth'.

11If something doesn't work#

  • 'Not connected' after signing in β†’ the OAuth finished but no project is bound yet. Settings β†’ 'Choose project'.
  • A warning that the anon key was not fetched automatically β†’ your Supabase OAuth approval is missing the Secrets:Read scope. Copy the anon key from Project Settings β†’ API and paste it in Settings (step 5).
  • 'Could not list your Supabase organizations' when creating a project β†’ create the project in the Supabase dashboard instead, then come back and pick it.
  • 'Connect Supabase first' in Remote Update or Stripe β†’ this chapter, step 3.
  • Data reads/writes fail in a generated app β†’ run '⚑ Test Supabase connection' first; if that passes, ask the AI to fix the Row-Level-Security policy for the table it names.

This page is generated from the Integration Guide inside the app itself, so it says exactly what the current build says. Read it as Markdown.

Checked against the shipped guide on 2026-09-09.