Operations

Free-tier limits that are real

What actually constrains a free deployment: pausing databases, capped realtime connections, image optimisation quotas and request body size.

A deployment on free tiers works. These are the edges, stated plainly rather than discovered.

LimitEffectMitigation
A Supabase project pauses after seven days of inactivityThe site returns database errors until it is resumedA daily keep-alive cron
Realtime concurrent connections are cappedThe live stream degrades under many simultaneous editorsAutomatic fallback to polling
Image optimisation is capped per monthTransforms stop being generatedAggressive caching, then serving originals
Serverless request bodies cap at about 4.5 MBLarge uploads fail on the server-receive pathBrowser-direct upload
Function execution has a time limitLong-lived streams cannot run indefinitelyKeepalives, a clean close and client reconnection
Hobby plans forbid commercial useNot a technical limit, but a real oneA paid plan

The one that surprises people

The pausing database. A demo deployment nobody visits for a week comes back to errors that look like a broken build. The keep-alive cron exists precisely because "it worked when I deployed it" and "it works today" are different claims for an unvisited project.

Scaling past them

Nothing here is architectural. The database is a Postgres, the storage is object storage, and both scale by paying for them. The only code-level limits are the ones marked partial on the compatibility page.