They’re all shit too. All three decided to do custom auth instead of OIDC and it’s a nightmare to integrate with any of them.

Maybe that's why all these vibe coded slop apps also use Clerk for auth alongside Supabase etc