Supabase
No OIDC provider support blocks AI agent and MCP integrations
8Supabase cannot act as an OpenID Connect Provider, preventing federation of identity to other systems and blocking participation in the OAuth-based ecosystem that AI agents rely on for integrations.
Performance bottlenecks from connection exhaustion and long-running queries
8As Supabase apps scale, critical performance issues surface including connection exhaustion and long-running queries that become operational bottlenecks. Developers lack clear monitoring signals for cache hit ratio and query performance.
No Native Offline Support or Sync
8Supabase provides no built-in offline functionality, local caching, or conflict resolution mechanisms. Mobile and offline-first applications must implement these features from scratch or use alternative platforms.
Direct-to-database architecture doesn't scale to complex applications
8Supabase's pitch of connecting client-side SDKs directly to the database via RLS works for toy applications but becomes unmanageable with realistic schema complexity (20+ tables with intricate relationships). Developers must add backend servers anyway, negating the abstraction benefit.
Usage limits prevent configuration changes needed to reduce costs on lower pricing tiers
7Developers on lower Supabase pricing tiers encounter a catch-22 where reaching usage limits prevents making modifications to reduce usage back under the limit, creating operational gridlock.
Fragmented development workflow switching between TypeScript and SQL
7Complex database operations require writing PostgreSQL functions outside the main codebase, forcing developers to switch between TypeScript and SQL environments. This disrupts workflow and makes debugging harder for teams.
Limited Compute Capabilities Beyond Edge Functions
7Supabase's reliance on edge functions is insufficient for applications requiring more powerful compute. Developers frequently need to pair Supabase with external serverless platforms like AWS Lambda, fragmenting their architecture.
Supabase admin dashboard encourages unsafe production modifications
7The Supabase dashboard defaults to write-mode access and actively encourages direct SQL or UI-based modifications to production databases. This increases the risk of accidental destructive operations and undermines CI-driven migration practices.
Weak authorization model lacking RBAC/ABAC support
7Supabase lacks native RBAC and must rely on manual PostgreSQL Row-Level Security implementation. No organization hierarchy, role mapping UI, or conditional access policies based on roles, making it unsuitable for multi-tenant SaaS.
Platform Stability Concerns and Breaking Changes
7Supabase has experienced unexpected downtime and breaking changes in minor updates, feeling less battle-tested than mature alternatives. This creates risk for production applications requiring high reliability.
Beginner Unfriendliness and Steep Learning Curve
6Supabase's complexity creates barriers for novice developers, compounded by limited community support and insufficient documentation tailored to beginners. The platform requires significant SQL and database knowledge to use effectively.
Limited query expressivity compared to raw SQL
6Supabase client does not support raw SQL queries or advanced PostgreSQL features. Developers must work around these limitations by creating stored procedures or views, which places application logic in the database and requires leaving the editor to modify code stored in the GUI.
Complex PostgreSQL Issues Bounced Back to Users
6Supabase support sometimes refuses to help with complex PostgreSQL issues, claiming they are database questions rather than platform questions. This can leave developers stuck without recourse.
Edge functions performance bottlenecks
6Supabase edge functions introduce performance degradation that can become a bottleneck in production applications, limiting their practical utility for performance-critical operations.
Row-Level Security policies difficult to debug and manage
6Debugging RLS policies requires diving into the Supabase dashboard, making them disconnected from the main codebase. Complex policies are time-consuming to debug and misconfiguration can expose data.
Manual Database Compute Scaling for Traffic Spikes
6Database compute scaling is not automatic and requires manual intervention to handle traffic spikes, creating operational burden and potential downtime risk during unexpected load increases.
Email authentication limits and user lockout risks
6Supabase's email authentication has undocumented limits that can leave users unable to authenticate, creating support headaches and potential user experience issues.
No structured development guidelines for database version control
6Supabase lacks guides for structured database development. Developers must create workarounds like master GitHub repos of SQL commands and custom documentation, making collaboration and migration difficult.
High switching costs and vendor lock-in concerns with Supabase
6Developers fear vendor lock-in due to Supabase's deep integration with cloud providers and the high operational overhead and complexity of migration, limiting willingness to adopt for long-term projects.
Session management complexity when integrating with third-party providers
5Integrating Clerk with other services like Supabase requires careful session management coordination. Developers must ensure Clerk's session is available before initializing dependent services, adding implementation complexity.
Migration File Organization in Multi-Service Architectures
5Database migration files are placed in frontend repositories by design, creating architectural friction when backends are hosted separately (e.g., AWS Lambda). This leads to unclear ownership of when migrations should run.
Short Backup Retention on Team Plan
5The Team plan only retains backups for 14 days, which is insufficient for many production scenarios where longer recovery windows are needed. Backup retention is not configurable.
Ecosystem Immaturity and Limited Third-Party Integrations
5Supabase's ecosystem is still immature with limited third-party integrations and fewer community resources compared to Firebase. Solving edge cases often requires digging through GitHub issues instead of finding documented solutions.
No Native Queue System for Background Jobs
5Supabase lacks built-in queue functionality for background job processing, requiring either custom implementation using pg_cron or integration with external services.
Separate projects required for each environment increases costs
5Each staging or development environment counts as a separate project, doubling base costs for teams needing isolated environments. This creates cost multiplication for multi-environment setups.
Incomplete documentation for advanced and enterprise-level use cases
5Supabase documentation has significant gaps for advanced, enterprise-level use cases, limiting developers' ability to fully leverage the platform for complex requirements and scaling scenarios.
Unorganized database schema structure due to single public schema
5All tables, views, and functions default to the `public` schema in Supabase Studio, leading to poor organization and difficulty managing data as projects grow. Lack of logical separation for different data types (user data, billing, admin-only) creates maintenance challenges.
Advanced Caching Requires Manual Redis Setup
4Implementing advanced caching strategies is not built-in and requires manual setup and management of external Redis infrastructure.
Storage API Permissions Model Lacks Clarity
4The Storage API permissions model for handling public/private file access is not intuitive and requires trial-and-error to configure correctly for common use cases.
Advanced PostgreSQL Features Require Raw SQL Knowledge
4Using advanced PostgreSQL features like custom triggers and aggregations requires developers to write raw SQL directly, adding friction for those unfamiliar with database-level programming.
DevX Gaps in Dashboard UI and Auth Workflows
4While Supabase excels in many areas, the dashboard UI and authentication workflows are not as frictionless or intuitive as Firebase, creating friction in common workflows.
Limited no-code and marketing tool connectors
4Popular marketing tools like HubSpot and Mailchimp need custom integration work. The ecosystem offers fewer pre-built no-code solutions than competitors, despite API-first design.
Realtime Channel Subscriptions Require Manual Setup
3Realtime functionality requires manual channel subscription configuration that is not immediately obvious to developers, adding setup friction for a core feature.