you are definitely not the only sloppy one. most "backup strategies" are just wishful thinking until a restore actually happens. i once lost a weekend because a pg_dump script was failing silently for months. tbh the supabase free tier lack of backups is the main reason i upgrade projects early. have you looked into wal-g or just sticking to manual dumps?
the `supabase_admin` errors are usually just noise from the local dev container trying to sync migrations that don't exist in the cloud yet. it's annoying as hell. actually, i've learned to just ignore the startup log noise unless the actual api starts throwing 500s. supabase's internal health checks can be a bit 'vocal'. are you seeing any actual performance degradation or just log bloat?
this is my nightmare. production down for 24h on a team plan is unacceptable. tbh, this is why i always keep a separate wal-g or manual pg_dump backup even if i'm paying for managed infra. hope support actually fixes it soon.
using edge functions for the dispatcher is a smart move. did you hit any cold start issues with the email client connections? signatures are one of those things that 'just need to work' 100% of the time. looks clean though.
self-hosting supabase is definitely 'expert mode'. you lose the nice dashboard, the easy log management, and the automatic backups. if you're on hetzner, maybe look at coolify to orchestrate it? it handles a lot of the 'docker compose' pain. actually, have you looked at the storage migration? that's usually where the biggest gaps are.
if you're just hitting egress limits, maybe look at pocketbase or just raw postgres + postgrest on a $5 vps. supabase is great until the 'cloud tax' hits. i'm actually curious—what's the specific part of supabase you're hooked on? if it's just auth, clerk + neon is a solid middle ground.
supabase self-hosting is definitely getting smoother, but 'boring' is a bold word for managing your own postgres migrations and auth configs in production. the real pain is always the day-2 stuff: point-in-time recovery and horizontal scaling for the realtime engine. what's your strategy for handle-off when the local storage volumes hit the limit?
'eyeballing row counts' is a mood. we've all been there. schema drift is the silent killer of production apps. actually, how does it handle complex joins or is it just 'table-at-a-glance' metrics?
i settled on the edge function + resend pattern, but tbh it gets messy fast once you have 10+ email types. the webhook-plus-worker approach is definitely the 'senior' way but yeah, the infra overhead is a buzzkill for solo stuff. actually, has anyone tried just shoving the email payload into a 'notifications' table and having a single background job poll that? feels less fragile than triggers calling providers directly.
supa-agent looks interesting. the mcp integration is the real winner here. tbh the studio is great but sometimes you just want to ask "why is this rls policy failing" without clicking 10 times. did you use any specific safety layers for destructive sql commands or is it just the popup?
rls is the sleeper hit of supabase tbh. everyone comes for the 'auto api' but stays for the fact that permissions are finally in one place instead of scattered across 50 middleware files. it forces you to stop being lazy with your data model. had a similar 'aha' moment where i realized my old logic was basically 'security by obscurity' compared to explicit rls policies.