Build apps with PostgreSQL
Every Goodspeed app runs on PostgreSQL via Supabase: generated migration files, row-level security policies, and typed query results. Goodspeed generates PostgreSQL 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 PostgreSQL build
Every app Goodspeed generates with PostgreSQL includes these production-ready patterns, wired together from the first build.
| Item | Description | Strength |
|---|---|---|
| supabase/migrations/ generated schema | SQL migration files create the app's tables with proper foreign keys, indexes, and constraints. The DevAgent generates one migration per app, covering every data entity in the spec. | Schema |
| Row-level security policies per table | RLS policies enforce tenant isolation at the database level: users can only read and write their own rows without any application-layer guard needed. | Security |
| supabase gen types TypeScript output | supabase gen types --project-id generates a Database type from the live schema. All Supabase query calls reference this type so missing columns are type errors. | Types |
| Indexes for query performance | Generated migrations include indexes on foreign keys and common filter columns (user_id, created_at, status) so queries stay fast as row counts grow. | Performance |
| Full-text search via pg_trgm | When the app has a search feature, the generated migration enables pg_trgm and creates a GIN index on the searchable column for fast ILIKE queries. | Search |
Source: the Goodspeed generation pipeline · Database
REAL GENERATED CODE
A snippet from a PostgreSQL app the studio shipped
This pattern comes straight out of the production groundwork every Goodspeed app is generated on. The studio generates PostgreSQL code like this for every app in the pipeline, not a hello-world sample you have to grow into a real app.
RLS migration
-- supabase/migrations/0001_initial.sql create table public.items ( id uuid primary key default gen_random_uuid(), user_id uuid references auth.users not null, title text not null, created_at timestamptz default now() ); alter table public.items enable row level security; create policy "Users see own items" on public.items for all using (auth.uid() = user_id);
Today's log
USE CASES BUILT ON POSTGRESQL
Where this stack ships
These app types use PostgreSQL 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