Build apps with Supabase
Supabase is the backend every Goodspeed app runs on: PostgreSQL, PKCE auth with ExpoSecureStore, per-table RLS policies, and Edge Functions. Goodspeed generates Supabase as a standard part of every app, so the output is a working codebase from day one, not a scaffold you have to finish yourself.
WHAT GETS GENERATED
Built into every Supabase build
Every app Goodspeed generates with Supabase includes these production-ready patterns, wired together from the first build.
| Item | Description | Strength |
|---|---|---|
| lib/supabase.ts with PKCE + ExpoSecureStore | A platform-split Supabase client: native uses ExpoSecureStore for token persistence; web uses localStorage. Both degrade gracefully when storage is unavailable. | Auth |
| supabase/migrations/ with per-app RLS | Generated migration files create the app's tables and attach row-level security policies that enforce tenant isolation without application-layer guards. | Database |
| supabase/functions/ Edge Functions | Webhook handlers, scheduled jobs, and third-party API calls live in Edge Functions rather than client code, keeping secrets server-side. | Serverless |
| lib/offline.ts offline write queue | When the device is offline, lib/offline.ts enqueues Supabase writes in AsyncStorage and replays them on reconnect, in order, without duplicates. | Reliability |
| Real-time subscriptions for live data | Supabase Realtime channels are wired in services/realtime.ts for features that need live updates (chat, collaborative lists, live leaderboards). | Real-time |
| Storage for file and image uploads | lib/media.ts uses Supabase Storage for profile photos, user-generated content, and app assets, with RLS policies applied at the bucket level. | Storage |
Source: gas-template repository · Backend and Database
REAL GENERATED CODE
A snippet from a Supabase app the studio shipped
This pattern comes directly from the gas-template codebase, the foundation every Goodspeed app is generated on. The studio generates Supabase code like this for every app in the pipeline, not just a hello-world scaffold.
PKCE client init
// lib/supabase.ts: PKCE auth + platform-split storage const supabaseUrl = gasConfig.backend.supabase.url || 'https://placeholder.supabase.co'; const supabaseAnonKey = gasConfig.backend.supabase.anonKey || 'public-anon-key-placeholder'; export const supabase = createClient(supabaseUrl, supabaseAnonKey, { auth: { storage: Platform.OS === 'web' ? WebStorageAdapter : ExpoSecureStoreAdapter, autoRefreshToken: true, persistSession: true, flowType: 'pkce', }, });
Today's log
USE CASES BUILT ON SUPABASE
Where this stack ships
These app types use Supabase as part of the generated stack. Each link goes to a full spec page with capabilities, scored ideas, and a pipeline walkthrough.
- Build a Fitness Tracker appBuilding a fitness tracker means wiring together daily logging, progress charts, Apple Health, and push reminders. Goodspeed generates all of that in a single build, not a patchwork of tutorials. The FITNESS TRACKER APP
- Build a Social App appBuilding a social app from scratch means solving hard infrastructure problems: real-time feeds, fan-out writes, notification delivery, and content moderation hooks. Goodspeed generates a complete sociSOCIAL APP
- Build a Habit Tracker appHabit trackers live or die on the loop: cue, routine, reward. Goodspeed generates a complete React Native habit tracker with streaks, reminders, and progress visualization, backed by Supabase so your HABIT TRACKER APP
- Build a Meal Planner appMeal planner apps stall at the same place: you can log a meal but the app won't generate a shopping list or track your targets across the week. Goodspeed generates the full stack, recipes to pantry syMEAL PLANNER APP
- Build a Recipe Organizer appRecipe apps that survive in the App Store do more than display cards. They index, scale, substitute, and remember what worked. Goodspeed generates a complete recipe organizer with ingredient scaling, RECIPE APP