Getting started with BaseDeck Android

BaseDeck Android is a native Kotlin app that gives you a full Supabase management interface on your phone — deploy Edge Functions, browse your database, run SQL, and write function code, all without a laptop or terminal.

This guide covers getting the APK, installing it on your device, and completing first-time setup.

Requirements: Android 8.0 or newer (API 26+) and a Supabase Personal Access Token from supabase.com/dashboard/account/tokens.

Step 1 — Get the APK

BaseDeck Android is built automatically by GitHub Actions CI and is distributed as an APK. It is not on the Play Store.

  1. Open the GitHub repository for BaseDeck.
  2. Click the Actions tab at the top.
  3. Click the latest successful Build Android run (green tick).
  4. Scroll to the Artifacts section at the bottom of the page.
  5. Download basedeck-debug.apk (no signing key needed — ready to sideload).

Transfer the downloaded APK to your Android phone if you downloaded it on a computer — via USB, Google Drive, or any cloud transfer method.

Step 2 — Allow APK installation on your device

Android blocks installations from unknown sources by default. You need to enable this once for the app you use to open the APK (your browser or a file manager).

  1. On your Android phone, open Settings.
  2. Go to Apps (or Applications) → Special app access.
  3. Tap Install unknown apps.
  4. Select your browser or file manager from the list.
  5. Toggle Allow from this source on.

The exact path to this setting varies by Android version and manufacturer. On Samsung devices it may be under Biometrics and Security → Install Unknown Apps. On stock Android (Pixel) it is under Settings → Apps → Special App Access.

Step 3 — Install BaseDeck

  1. Open the APK file on your phone (tap it in your downloads or file manager).
  2. Android will show an install confirmation screen. Tap Install.
  3. Once installation completes, tap Open or find BaseDeck on your home screen / app drawer.

Step 4 — Set up your PIN

The first time you open BaseDeck, you will be asked to create a 4-digit PIN. This PIN locks the app on every cold start — it protects your session even if someone else picks up your phone.

  1. Tap four digits to set your PIN.
  2. Tap the same four digits again to confirm.
  3. If the digits match, you proceed automatically. If they don't match, the dots shake and you start over.

You can change your PIN later from the Settings tab. After 5 wrong PIN attempts, the app wipes your stored token and returns to the login screen — protecting against brute-force attacks on a lost device.

Step 5 — Enter your Supabase Personal Access Token

BaseDeck authenticates via your Supabase Personal Access Token (PAT) — the same long-lived token the Supabase CLI uses. It gives access to the Supabase Management API on your behalf.

  1. Go to supabase.com/dashboard/account/tokens and generate a token.
  2. Copy the token (it starts with sbp_).
  3. Paste it into the Personal Access Token field in BaseDeck.
  4. Tap Connect. BaseDeck validates the token against the Supabase API, then encrypts it using the Android Keystore and stores only the ciphertext — the raw token is never kept anywhere after this step.

Step 6 — Select a project

After connecting, BaseDeck fetches all Supabase projects linked to your account and displays them as cards. Tap any project to open its dashboard.

You can switch projects any time from the Settings tab → Switch project.

Step 7 — (Optional) Enable biometric unlock

If your device has a fingerprint sensor or face unlock, you can use it instead of your PIN for faster access.

  1. Open the Settings tab inside BaseDeck.
  2. Toggle Biometric unlock on.
  3. Android will prompt you to verify with your fingerprint or face to confirm the change.
  4. From now on, the lock screen will show a biometric prompt instead of (or alongside) the PIN pad.

Biometric unlock is optional and requires at least one enrolled fingerprint or face on your device. If biometric authentication fails or is not available, you can always fall back to your PIN.

Exploring the app

Once you are in the dashboard, you have five tabs at the bottom of the screen:

Tab What it does
OverviewProject stats — region, status, table count, function count, and database size.
DatabaseBrowse all public-schema tables, paginate rows, and inspect your data.
SQLWrite and run SQL queries with syntax highlighting. Save snippets, browse history, and open .sql files from device storage.
FunctionsList, deploy, invoke, and delete Edge Functions. Create functions from scratch, or pick a folder from device storage to deploy.
SettingsChange PIN, toggle biometric unlock, switch project, or sign out.

What's different from the PWA?

The Android app has all the same core features as the web PWA, plus:

  • Function editor — create new Edge Functions from scratch with a multi-file TypeScript editor. Add files, edit, save, and deploy — all on-device.
  • Folder deploy — pick a supabase/functions folder from device storage, choose which functions to deploy via a checklist, then deploy them to Supabase in one step.
  • Function invocation — test deployed functions directly from the app with custom HTTP method, query parameters, headers, and request body. See status, latency, and response inline.
  • SQL file import — open any .sql file from device storage directly into the SQL editor via Android's file picker.
  • Hardware-backed security — your token is encrypted by the Android Keystore's hardware secure element. The encryption key never leaves the chip — not even to the app itself.
  • No server proxy — the Android app calls the Supabase API directly. No Netlify Functions are involved.
Android docs All guides Open BaseDeck PWA