Skip to content
impulseDOCS
Get Started

Build with Flutter

Mobile apps hold publishable values only — the auth URL and anon key. Postgres, storage keys, and cache credentials live in your backend (Node, Laravel, Django …); the app talks to that API.

Terminal window
flutter pub add supabase_flutter
await Supabase.initialize(url: authUrl, anonKey: anonKey); // Supabase-compatible
final res = await Supabase.instance.client.auth.signInWithPassword(email: email, password: password);

Send res.session.accessToken as the Authorization: Bearer header to your API, which verifies it against your project’s JWKS.

Ask your API for a signed upload URL, then PUT the file straight to storage from the device — no S3 keys in the app.

Standard WebSockets with a short-lived connection token minted by your backend — Realtime.

Your Flutter app ships through the app stores — what Impulse hosts is its backend: the API on a Cloud VPS plus the bundled services it uses.