How Narrower Database Reads Cut Supabase Egress in OttoHow Narrower Database Reads Cut Supabase Egress in Otto
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
Old vs new: how Otto stopped over-reading its database.
One person running a product review in Otto blew through my Supabase egress. My first guess was traffic. It wasn't. It was reads far wider than the question being asked:
→ the live review log re-read and rewrote its whole row every 3 seconds → every screenshot loaded every review the workspace had ever run, just to find one → access tokens were re-checked against the database on every request
The fix removed nothing. Every screen answers exactly what it did before; it just asks Postgres a narrower question. One row per log line, the one review by id, a 30-second token memo. Estimated from the code: ~100 MB saved per 40-minute review. Measuring it properly is next.
PM lesson: cost bugs hide inside "it works". Reading your own data paths is product work, not just engineering work.
Post image
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started