Skip to content

Deployment overview

WeSpend has three deployment surfaces, each with its own pipeline:

SurfaceWhat shipsDriven by
Mobile appInstallable Android/iOS buildsEAS Build
BackendSupabase schema and policiesMigrations
This docs siteStatic HTMLVitePress build

The flow at a glance

mermaid
flowchart LR
  PR[Feature branch PR] -->|CI: typecheck, lint, test| Main[main]
  Main -->|release-please| RelPR[Release PR]
  RelPR -->|merge| Tag[Git tag + GitHub Release]
  Main -->|eas build| App[App binary]
  Main -->|migrations| DB[(Supabase)]
  1. Every change lands on main through a PR that passes CI.
  2. release-please maintains a release PR; merging it tags a version and publishes a GitHub Release with the changelog.
  3. App binaries are built from main with EAS.
  4. Backend changes are applied as Supabase migrations.

What needs real credentials

The pipeline scaffolding is in place, but these require accounts/secrets you provide:

  • Supabase: project URL + anon key (in .env and as CI secrets if needed).
  • EAS / Expo: an Expo account and eas.json for cloud builds.
  • App stores: Google Play and Apple Developer accounts for store submission.

Spend together, settle simply.