Backend•Apr 2026•3 min read

Appwrite vs Supabase

Two open-source Backend-as-a-Service platforms. One is self-host first. One is Postgres first. Both want to kill Firebase.

The short answer

Supabase over Appwrite for most cases. Supabase gives you real Postgres with all its power.

  • Pick Appwrite if want easy self-hosting, prefer a beautiful console, need multi-runtime functions, or find Postgres RLS overwhelming
  • Pick Supabase if want Postgres power, need AI/vector features, want SQL access, or prefer the Supabase ecosystem and community
  • Also consider: Firebase is still valid if you're mobile-first and want the best real-time sync and offline support.

— Nice Pick, opinionated tool recommendations

The Firebase Killers

Firebase locked everyone into Google's NoSQL world. Supabase and Appwrite both said 'what if BaaS, but open source?'

Supabase chose Postgres as its foundation. Appwrite chose MariaDB. This single decision shapes everything about both platforms.

Why Supabase Wins

Postgres. That's it. That's the argument.

Okay, more specifically: row-level security, PostgREST auto-generating your API, pg_vector for AI embeddings, full SQL access, and the ability to migrate away to any Postgres host.

The real-time subscriptions work well. The auth is clean. The storage integrates with your Postgres policies. It's a cohesive platform.

Where Appwrite Shines

Appwrite's console is genuinely better. Cleaner UI, better UX for managing your backend.

Self-hosting Appwrite is easier. One Docker Compose command. Supabase self-hosting is possible but more complex (many services to orchestrate).

Appwrite Functions support more runtimes: Node, Python, Dart, Ruby, PHP, Swift. Supabase Edge Functions are Deno-only.

And Appwrite's permission system is simpler to understand than Postgres RLS policies.

Database Engine: Postgres vs MariaDB – Not Even Close

Supabase runs on PostgreSQL, the gold standard for relational databases. Appwrite uses MariaDB, a MySQL fork. That’s like comparing a Swiss Army knife to a butter knife. Postgres gives you real JSONB for hybrid document-relational workloads, full-text search, geospatial queries via PostGIS, and row-level security that maps directly to Supabase’s auth. MariaDB? It’s fine for basic CRUD, but you’ll hit a wall the moment you need advanced indexing, recursive CTEs, or custom data types. Supabase also exposes a PostgREST API that turns your database into a REST API instantly. Appwrite’s document database is a custom abstraction on top of MariaDB—so you lose raw SQL power and gain nothing. If you care about data integrity, extensibility, and not rewriting queries later, Postgres wins. Period.

Pricing Tiers: Supabase’s Free Tier Is Generous; Appwrite’s Is a Tease

Supabase’s free tier gives you 500 MB database, 1 GB bandwidth, 50,000 monthly active users, and 2 GB file storage. That’s enough for a real MVP. Appwrite’s free tier: 50,000 documents, 1 GB storage, 50 GB bandwidth—but no database size limit? That’s misleading because document count is the real cap. Once you hit 50k docs, you’re forced to upgrade. Appwrite’s paid tiers start at $15/month for 250k documents and 50 GB bandwidth. Supabase’s Pro plan at $25/month gives you 8 GB database, 100 GB bandwidth, 100k monthly active users, and 100 GB storage. The math is simple: Supabase scales further for less. And Appwrite’s enterprise pricing is opaque—you have to call sales. Supabase publishes everything. If you hate surprises on your bill, go with Supabase.

Self-Hosting and Docker: Both Work, but Supabase Is Smoother

Both platforms offer self-hosting via Docker Compose. Appwrite’s setup is a single docker run command—easy enough. But Supabase’s self-hosted stack is more modular: you can run just the database, or add Realtime, Storage, and Auth independently. Appwrite bundles everything into a monolith, which is simpler but less flexible. Supabase also provides a CLI for local development that mirrors production exactly—no surprises when you deploy. Appwrite’s local setup requires pulling images and configuring environment variables manually. For production self-hosting, Supabase uses Kubernetes-ready images; Appwrite’s docs recommend Docker Swarm or manual orchestration. If you’re a DevOps person, Supabase gives you more control. If you just want one container and don’t care about scaling, Appwrite works. But Eunice says: don’t settle for less when you can have Postgres and a real architecture.

Quick Comparison

FactorAppwriteSupabase
DatabaseMariaDBPostgreSQL
Self-hostingEasy (Docker)Complex (many services)
Console UIExcellentGood
FunctionsMulti-runtimeDeno only
SQL AccessLimitedFull Postgres SQL
Real-timeWebSocket eventsPostgres changes
AI/EmbeddingsNot built-inpgvector

The Verdict

Use Appwrite if: You want easy self-hosting, prefer a beautiful console, need multi-runtime functions, or find Postgres RLS overwhelming.

Use Supabase if: You want Postgres power, need AI/vector features, want SQL access, or prefer the Supabase ecosystem and community.

Consider: Firebase is still valid if you're mobile-first and want the best real-time sync and offline support.

Appwrite vs Supabase: FAQ

Is Appwrite or Supabase better?

Supabase is the Nice Pick. Supabase gives you real Postgres with all its power. Appwrite is great for self-hosting and has a nicer console, but Postgres wins over MariaDB for most serious applications.

When should you use Appwrite?

You want easy self-hosting, prefer a beautiful console, need multi-runtime functions, or find Postgres RLS overwhelming.

When should you use Supabase?

You want Postgres power, need AI/vector features, want SQL access, or prefer the Supabase ecosystem and community.

What's the main difference between Appwrite and Supabase?

Two open-source Backend-as-a-Service platforms. One is self-host first. One is Postgres first. Both want to kill Firebase.

How do Appwrite and Supabase compare on database?

Appwrite: MariaDB. Supabase: PostgreSQL. Supabase wins here.

Are there alternatives to consider beyond Appwrite and Supabase?

Firebase is still valid if you're mobile-first and want the best real-time sync and offline support.

🧊
The Bottom Line
Supabase wins

Supabase gives you real Postgres with all its power. Appwrite is great for self-hosting and has a nicer console, but Postgres wins over MariaDB for most serious applications.

Related Comparisons

Disagree? nice@nicepick.dev