Dropping Supabase, keeping Postgres
23 Sep 2026
The Next.js rewrite of the parts inventory moves to plain Postgres, Drizzle and Better Auth.
The first plan for the rewrite migrated the live Supabase database in place. Reviewing that plan ended it. New uuid ids would have broken the Flutter app in daily use, a self-hoster could never build the schema from an empty database, and the migration SQL had a recursive row-level security policy and a path from admin to owner.
2026-09-23·#dropping-supabase-keeping-postgres
Wait on quota, don't fail the shape
15 Sep 2026
Quota as a scheduling signal rather than an error.
Porting [[fleet-that-launches-itself|the benchmark fleet]] to a third cloud, the launchers kept failing shapes on quota errors. The fix was to treat quota as a scheduling signal: wait and retry when CPUs or disk are exhausted, wait on expired tokens, keep polling when a describe call fails.
2026-09-15·#wait-on-quota