Skip to contentTopicsupabase
- Two Airtable Traps From One Afternoon—and Why I Moved the Sort to JavaScriptJuly 15th, 2026
- The Migration Comment That Almost Took Down Five Apps at OnceJune 15th, 2026
- How a Stale Assumption Kept Our Supabase Front Door Wide OpenJune 12th, 2026
- Fine-Grained RLS: Carving Memberships Out of Blanket Policy to Block Self-PromotionJune 11th, 2026
- When Your Security Fix Becomes the Production Bug: Chunking Past the Schema CapJune 10th, 2026
- Why Adding a Junction Table Is Only Half the WorkJune 10th, 2026
- The Silent Lockout: How Supabase's Auto-RLS Cost Me an Hour of Debugging the Wrong ThingJune 9th, 2026
- How a Silent PGRST201 Broke My Dashboard Without a Single Error in SightJune 7th, 2026
- How a Security Audit Taught Me to Stop Trusting Sequential DB CallsJune 6th, 2026
- Why a Two-Word Name Returned Zero Results (And How Tokenized Search Fixed It)June 3rd, 2026
- The Timezone Trap That Almost Made Every Event Time Four Hours WrongJune 2nd, 2026
- The Bug That Made 55 of 75 Contacts Un-Editable (And What It Taught Me About Shared Tables)June 1st, 2026
- The One-Character Regex That Was Zeroing My Entire Supply-Chain DashboardJune 1st, 2026
- Stateless First: How a No-DB Preview Saved Our Webinar Dashboard MigrationMay 31st, 2026
- How a USING (true) RLS Policy Left Every Shopify Order Open to Any Google AccountMay 30th, 2026
- When Your Vendor Has Different Lead Times Per Product, You Have a Join Table ProblemMay 20th, 2026
- The Migration Was Perfect. The Table Was Empty. Here's Why.May 18th, 2026
- How PostgREST's Silent 1000-Row Cap Broke My Supply-Chain ChartsMay 16th, 2026
- Why My Wildcard Sanitizer Had a Blind Spot (and How a %@% Fixed That)May 13th, 2026
- How One Fresh Supabase Client Locked Out Every User I HadMay 9th, 2026
- Why I Moved All the Aggregation Into Postgres (And Then MATERIALIZED the CTEs)May 6th, 2026
- Why I Stopped Aggregating in JavaScript (and Let Postgres Do the Math)May 6th, 2026
- Two Apps, One Contacts Table, and the Hardcoded List That Made It InvisibleMay 5th, 2026
- The Postgres Migration Foot-Gun Nobody Warns You About: DROP Before CREATEMay 4th, 2026
- The PostgREST Embed Bug That Showed Zero Webinars (When There Were Five)May 4th, 2026
- How a Single Batching Change Cut Our Shopify Sync to 1/50th the API CallsMay 2nd, 2026
- How a Friendly Supabase Method Was Silently Injecting PostgreSQL WildcardsApril 25th, 2026
- How an Unrelated Migration Broke Our PostgREST Queries — One of Them SilentlyApril 14th, 2026
- SQL Injection Was Hiding in My Supabase `.not('in')` CallsApril 13th, 2026
- The Shopify Sync That Never Had a Race Condition (And the Ones That Did)April 7th, 2026
- The Auth Gate That Wasn't Guarding the Real DoorApril 6th, 2026
- How a Failed Junction Insert Left Me With Orphaned RowsApril 2nd, 2026
- The Supabase Linter Warning That Silently Empties Your TablesApril 2nd, 2026
- How 'Belt-and-Suspenders' Broke My Swift Supabase DecoderMarch 26th, 2026
- How My iOS App Learned to Lie (And How I Fixed It)March 26th, 2026
- How One `await` Stopped My iOS CRM From Lying to UsersMarch 26th, 2026
- The SupabaseClientOptions Argument Order Trap Nobody Warns You AboutMarch 26th, 2026
- Why My Supabase iOS App Failed Silently — and It Was the Key FormatMarch 26th, 2026