Database
Supabase
Supabase here is deliberately reduced to its Postgres half. Better Auth creates user, session and account tables through migrations you run, so the managed auth schema goes unused and row level security has no Supabase JWT to read. Query through the connection string from route handlers rather than the browser client, and keep Stripe subscription rows in the same schema so an entitlement check is a join rather than a second network call.