Category: Hands-on
-
Serve One Image at Many Sizes With Supabase Storage Image Transformations: Measurements, Surprises, and a Small CMS
I wanted to know what Supabase Storage image transformations actually change for a content site: how many bytes, and what goes wrong. So I stored one image, requested it a dozen ways, measured every response, and then built a tiny…
-
Supabase Realtime From Scratch: Tic-Tac-Toe With Broadcast and Presence, Then a Live Order Board That Survives Late Joiners and Dropped Connections
I wanted to understand Supabase Realtime by building something small enough to see every message. First a tic-tac-toe room (Broadcast for moves, Presence for who is here), then the same idea as a live order board where the database keeps…
-
Before You Give an AI Agent a Key: What Supabase MCP “Read-Only” Really Means, and a Data Inventory Page
You can connect an AI agent straight to your Supabase project through MCP. The connection URL has three knobs that narrow what you hand over, and one of them is called read-only. I wanted to know what each knob changes, and what…
-
Multi-Tenant Data Isolation with Supabase RLS, Tested Through Real Logins in a Small Invoice Portal
Two customer companies, one Supabase project, one invoices table. How do you make sure each company sees only its own rows? This post walks through Row Level Security (RLS) from “no rules” to “tested through real logins”: SQL, the checks…
-
Enforce SSL on Supabase, Then Measure the Restart: A Status Page for Encryption and Downtime
“Enforce SSL on incoming connections” is one switch in the Supabase dashboard, and it comes with a warning: the database restarts. I wanted to know three things before I trusted it. Does it actually refuse unencrypted connections? How long…
-
Semantic Search in Postgres with Supabase Edge Functions: Auto-Embeddings and a Small App
I wanted to search meeting notes by meaning, so that “How do I add a coworker?” finds a note that says “Accounts for new employees are created from the admin panel.” Keyword search returns nothing for that. This post builds the fix end to…