M/ATEŞ

Aurelia

Published on the App Store and Google Play under Fabula Labs, LLC. Cross-platform Flutter app (iOS & Android) with a Supabase backend (database and auth), subscription billing via RevenueCat, image storage on Cloudflare R2, and automated store builds and releases with fastlane.

Architecture

Scroll to see the full diagram →

Aurelia architecture diagramThe Aurelia Flutter app signs users in and calls Supabase edge functions, which read and write Postgres and call Cloudflare AI Gateway; the app uploads selfies directly to Cloudflare R2; RevenueCat handles subscriptions and notifies Supabase by webhook; a separate fastlane pipeline releases the app to the App Store and Google Play.direct uploadwebhookAurelia appFlutter · iOS and AndroidSupabaseAuthApple, Google, emailEdge functionsAnalyze, sign, syncPostgresHistory, quota, plansCloudflare R2Selfie storageRelease pipelinefastlane → App Store, Google PlayCF AI GatewayOpenAI gpt-4o-miniRevenueCatIn-app subscriptions
  1. Sign in with Supabase Auth (Apple, Google or email).
  2. The app gets a signed upload URL from an edge function and uploads the selfie directly to Cloudflare R2.
  3. The analyze edge function reserves quota in Postgres, calls gpt-4o-mini through Cloudflare AI Gateway, validates the result and refunds the quota if anything fails.
  4. Subscriptions are handled by RevenueCat; its webhook keeps entitlements in Supabase in sync.
  5. Store builds and releases are automated with fastlane.
Tech Stack
Flutter
Supabase
RevenueCat
Cloudflare R2
fastlane