Head-to-Head Comparison

Convex vs Appwrite: Reactive Backend vs Open-Source BaaS

Convex provides a reactive TypeScript backend where queries automatically re-run when data changes, with end-to-end type safety. Appwrite is an open-source BaaS with auth, databases, storage, and functions that can be fully self-hosted via Docker.

appwrite

Last updated: 2026-04

300%+ average ROI from custom software within three years of deployment

Source: Forrester 2024

3-10x faster development speed when using AI coding assistants

Source: McKinsey 2025

$25/mo

Appwrite Cloud Pro plan per project as of September 2025, changed from per-seat to per-project billing model

Appwrite Pricing, 2026

$25/dev/mo

Convex Professional plan per developer including 25 million function calls and 250GB-hours compute

Convex Pricing, 2026

1M calls/mo

Convex free tier function call allowance supporting up to 6 developers across 20 projects at no cost

Convex Pricing, 2026

Side-by-Side Comparison

appwrite

Architecture
Traditional BaaS (REST/GraphQL APIs)
Pricing
Free + $25/mo Cloud Pro (per project)
Real-time
WebSocket event subscriptions
Auth Included
Yes (email, OAuth, magic links, phone)
Self-Hostable
Yes, via Docker (fully open source)
TypeScript Support
SDK with types, not schema-generated
Database Type
Document collections (MariaDB internally)
Best For
Self-hosted backends, open-source preference

Convex

Architecture
Reactive backend (auto-updating queries)
Pricing
Free tier, $25/dev/mo Professional
Real-time
Native reactive queries (automatic)
Auth Included
Via Clerk integration
Self-Hostable
No (managed service only)
TypeScript Support
End-to-end type safety from schema
Database Type
Reactive document database
Best For
TypeScript real-time apps, collaboration tools

Winner by Category

Best for Realtime

Convex

Native reactive queries update automatically when data changes, no manual subscription management

Best for Self_hosting

appwrite

Fully open-source with easy Docker deployment, no vendor lock-in

Best for Dx

Convex

Superior end-to-end TypeScript developer experience with schema-generated types

Best for Completeness

appwrite

Built-in auth, storage, and functions vs Convex requiring third-party auth integration

Our Recommendation

Choose Convex for TypeScript applications requiring automatic real-time data synchronisation and the best developer experience. Choose Appwrite when self-hosting is required, data must stay on your own infrastructure, or you prefer a traditional REST/GraphQL BaaS with built-in auth and storage.

The reactive query model in Convex is the thing that genuinely separates it from other backends. You write a query, subscribe to it, and your UI stays current automatically. There is no polling, no websocket management, no cache invalidation logic to maintain. For products where multiple users are looking at the same data simultaneously, that automatic consistency eliminates a category of bugs that teams on traditional backends spend considerable time debugging.

Callum Holt, Founder, 13Labs

When to Choose Each Tool

1

Choose Convex

Building real-time TypeScript applications where automatic data sync is a core requirement

2

Choose Appwrite

Need self-hosted open-source backend or require built-in auth integrated with your database

Convex vs Appwrite: Different Architectural Philosophies

Convex and Appwrite are both full backend platforms, but they are built on fundamentally different architectural models. Convex is a reactive backend: its core innovation is that database queries are reactive by default. When data that a query depends on changes, Convex automatically re-runs the query and pushes the updated result to all connected clients. This removes the need for polling, manual cache invalidation, or custom websocket management in applications that need live data.

Appwrite is a traditional Backend-as-a-Service. It provides REST and GraphQL APIs for auth, a document database, file storage, and serverless functions. Appwrite supports real-time event subscriptions via WebSocket, but this requires explicit subscription setup rather than being automatic for all queries. Appwrite's primary advantage is that it is fully open source under the BSD licence and deployable via Docker on any server, giving teams complete control over their data and infrastructure.

Pricing in 2026: Cloud Costs and Self-Hosting Options

Appwrite changed its pricing model in September 2025, shifting from per-seat to per-project billing. The Cloud Pro plan now costs $25 per month per project. A free tier is available for development and side projects. Appwrite can also be self-hosted at no licensing cost beyond the server infrastructure required to run it.

Convex charges $25 per developer per month on the Professional plan, which includes 25 million function calls, 250GB-hours of compute, and 500,000 Chef AI tokens per month. The free tier supports up to 6 developers on 20 projects with 1 million function calls per month. Convex also offers a Starter plan as a pay-as-you-go option for usage beyond the free tier without committing to the Professional plan. There is no self-hosting option for Convex.

For a solo developer or small team, the cost structures are roughly equivalent. The key difference is Appwrite's self-hosting option, which eliminates cloud subscription costs entirely for teams willing to manage their own infrastructure.

Real-time Data: Convex's Reactive Model vs Appwrite's Subscriptions

Convex's reactive query model is the platform's most distinctive feature. Any query written in Convex automatically tracks the data it reads. When that data changes, Convex re-runs the query on the server and sends the updated result to subscribed clients without any additional developer configuration. Building a shared document, a live dashboard, or a multiplayer feature in Convex requires no special real-time implementation; it works the same way as any other query.

Appwrite supports real-time via WebSocket subscriptions. Developers subscribe to specific collections or documents and receive events when those records change. This is a solid and well-designed real-time system, but it requires explicit subscription setup for each piece of data you want to keep live. Convex's model is more automatic and less error-prone for complex real-time scenarios, while Appwrite's subscription model is more familiar to developers accustomed to traditional event-driven architectures.

Authentication and Backend Features: What Each Provides

Appwrite includes authentication as a first-class feature. It supports email and password, magic links, OAuth providers including Google, Apple, GitHub, and Microsoft, anonymous sessions, and phone-based OTP. Auth is integrated with the database through permission rules, allowing you to restrict collection access based on the authenticated user role or ID directly in the database configuration rather than in application code.

Convex does not include built-in authentication. The standard approach is to integrate Clerk, which is well-documented and deeply integrated with the Convex SDK. Auth0 and other providers can also be configured. This integration adds a setup step and introduces Clerk as an additional service, but the Clerk integration is mature and the combination is used in production by many Convex applications. For teams already using Clerk, the Convex integration is straightforward. For teams that prefer auth to be part of a single backend platform, Appwrite's built-in auth is a meaningful convenience.

Self-Hosting: Appwrite's Most Significant Advantage

Appwrite can be fully self-hosted via Docker Compose. A single command deploys the entire platform including auth, database, storage, functions, and the admin console to any Linux server. The community maintains updated Docker Compose configurations and Helm charts for Kubernetes deployments. This makes Appwrite suitable for organisations with data residency requirements, compliance frameworks that require data to remain within specific geographic boundaries, or teams philosophically opposed to vendor lock-in.

Convex is a managed service with no self-hosting option. Data stored in Convex remains on Convex's infrastructure. For most commercial applications, this is acceptable. For regulated industries, government projects, or organisations with strict data governance policies, the absence of self-hosting is a disqualifying limitation. EU hosting is available on Convex with a 30 percent pricing surcharge, which addresses some but not all data residency concerns.

Which Should You Choose in 2026?

Choose Convex if you are building a TypeScript application where real-time data synchronisation is important, the developer experience and end-to-end type safety are priorities, and you are comfortable with a managed service. The reactive query model provides genuine value for collaborative and live-data applications, and the TypeScript integration is among the best available in any backend platform.

Choose Appwrite if self-hosting is a requirement, you need built-in authentication without a third-party auth service, or you prefer open-source software with no risk of pricing changes or service discontinuation. The Docker deployment story is genuinely well-executed, and the $25 per project monthly cloud cost is competitive for teams that want managed hosting without self-hosting complexity. Both platforms have free tiers suitable for experimentation; the decision ultimately comes down to whether automatic reactivity or infrastructure ownership is the more important constraint for your project.

Frequently Asked Questions

Can Convex be self-hosted?

No. Convex is a managed service and does not offer a self-hosting option. If self-hosting is a requirement due to data residency, compliance, or infrastructure preferences, Appwrite is the better choice with its Docker-based deployment.

Does Appwrite have real-time features?

Yes. Appwrite supports real-time events via WebSocket subscriptions. Developers subscribe to specific collections or documents and receive events when data changes. This requires explicit subscription setup, unlike Convex where all queries are reactive by default.

Does Convex include authentication?

Not built-in. The standard approach is to integrate Clerk with Convex, which is well-documented and supported. Auth0 and other JWT-based providers can also be configured. Appwrite includes its own authentication system, which is simpler for teams that want auth as part of a single platform.

How does Appwrite pricing work in 2026?

Appwrite changed from per-seat to per-project billing in September 2025. The Cloud Pro plan costs $25 per month per project. Self-hosted Appwrite is free, with users paying only for their own server infrastructure. The free cloud tier remains available for development and side projects.

Which is easier to get started with?

Convex is faster for TypeScript developers who want to go from zero to a working reactive backend. The CLI setup and TypeScript integration are extremely smooth. Appwrite requires more setup for self-hosting but also offers a cloud option, and its auth integration is simpler since it does not require a third-party auth provider.

Which is better for a startup building a collaboration tool?

Convex. The reactive query model handles the real-time data synchronisation that collaboration tools require without custom websocket management. Building a shared document editor, project management tool, or anything where multiple users see the same data is significantly easier in Convex than in any traditional BaaS including Appwrite.

Master Both Tools at buildDay Melbourne

Join our hands-on workshop and learn to build with the modern AI development stack. Go from idea to deployed app in a single day.