---
title: Appwrite
slug: appwrite
url: "https://toolweight.com/options/appwrite"
homepage: "https://appwrite.io"
categories: convex-alternatives
last_verified: 2026-07-20
license: CC-BY-4.0
---

# Appwrite

> Open-source backend platform: databases, auth, storage, functions, self-hostable.

Appwrite is a batteries-included backend you can run on your own Docker host, with a console-driven model where collections, attributes, indexes and permissions are configured through a UI or CLI rather than a schema file in your repo. It stores data in MariaDB but exposes only its own REST and SDK API. Realtime is a websocket subscription to document events rather than reactive queries.

## Identity

|  |  |
| --- | --- |
| Name | Appwrite |
| Company | Appwrite |
| One-liner | Open-source backend platform: databases, auth, storage, functions, self-hostable. |
| Site | https://appwrite.io |
| Docs | https://appwrite.io/docs |
| Repo | https://github.com/appwrite/appwrite |
| Founded | 2019 |
| Funding | Venture-backed |
| Open source | Yes |
| Licence | BSD-3-Clause |
| Brand | https://toolweight.com/vendors/Appwrite |
| Compared in | 1 |

## Where it is compared

### [Convex alternatives](https://toolweight.com/compare/convex-alternatives)
Ranked **#9 of 11** on default weights.
| Field | Value | Confidence | Verified | Source | Note |
| --- | --- | --- | --- | --- | --- |
| Reactivity | push | Vendor-claimed | 2026-07-20 | https://appwrite.io/docs/apis/realtime | Websocket subscription to document and file events, not to query results. |
| TS inference | ◐ | Inferred | - | - | SDKs are typed and the CLI can generate types from your collections, but the schema lives in the console rather than your repo. |
| Transactions | none | Inferred | - | - | Historically no general multi-document transaction primitive in the public API, though transaction support has been in flight. The least confident cell in this row, re-verify. |
| Local-first sync | ○ | Inferred | - | - | - |
| Optimistic writes | ○ | Inferred | - | - | - |
| Cron & scheduling | ● | Vendor-claimed | 2026-07-20 | https://appwrite.io/docs/products/functions | Cron schedules attached to functions. |
| File storage | ● | Vendor-claimed | 2026-07-20 | https://appwrite.io/docs/products/storage | - |
| Vector search | ○ | Inferred | - | - | - |
| Full-text search | ◐ | Inferred | - | - | Fulltext indexes on string attributes via the underlying MariaDB; no meaningful relevance ranking. |
| Auth | built-in | Vendor-claimed | 2026-07-20 | https://appwrite.io/docs/products/auth | Unusually broad OAuth provider list. |
| Hard limits | Attribute count per collection is bounded by the underlying MariaDB row width, wide documents fail at creation time rather than at scale. | Inferred | - | - | - |
| Cold start | 1 s | Inferred | - | - | Function containers spin up per invocation unless kept warm; order of a second. |
| Function timeout | 15 min | Inferred | - | - | Cloud maximum; the default is far lower and set per function. |
| Exit cost | 3 | Inferred | - | - | Open source and self-hostable, and if you host it you own the MariaDB underneath. But every read and write goes through Appwrite's SDK and permissions model, so the client rewrite is total even though the data is free. |
| Self-hostable | ● | Vendor-claimed | 2026-07-20 | https://appwrite.io/docs/advanced/self-hosting | - |
| Bulk export | ◐ | Inferred | - | - | Self-hosted, you dump MariaDB. On Cloud you paginate collections through the API yourself. |
| Raw SQL | ○ | Inferred | - | - | MariaDB is an implementation detail; the API does not expose it. |
| Schema changes | declarative-push | Inferred | - | - | appwrite.json plus CLI push, though the console remains the path of least resistance. |
| MCP server | ● | Vendor-claimed | 2026-07-20 | https://appwrite.io/docs/tooling/mcp | - |
| Agent fit | 3 | Inferred | - | - | Good SDK coverage, but console-first configuration means an agent cannot see or change the schema from the repo alone. |
| Pricing model | per-seat + usage | Vendor-claimed | 2026-07-20 | https://appwrite.io/pricing | - |
| Entry price | $15 /mo | Vendor-claimed | 2026-07-20 | https://appwrite.io/pricing | Pro is priced per member per month. |
| Egress metered | ● | Vendor-claimed | 2026-07-20 | https://appwrite.io/pricing | Bandwidth metered beyond the plan allowance. |
| GitHub stars | 52,000 | Inferred | - | - | Approximate as of mid-2026. |
| Backing | venture-backed | Inferred | - | - | - |
| Positioning | Build like a team of hundreds, an open-source backend platform. | Vendor-claimed | 2026-07-20 | https://appwrite.io | - |

**Verdict.** The most complete self-hostable batteries-included option, with the widest OAuth and SDK coverage here. Held back by a console-first model that keeps your schema out of your repo, and by the weakest transaction story on the page.

## Alternatives

- [Convex](https://toolweight.com/options/convex), Reactive TypeScript backend: database, functions and live queries in one project.
- [ElectricSQL](https://toolweight.com/options/electricsql), Postgres read-path sync: stream subsets of your own database to clients over HTTP.
- [Firebase](https://toolweight.com/options/firebase), Google's app platform: Firestore documents, auth, functions, deep mobile SDKs.
- [InstantDB](https://toolweight.com/options/instantdb), Client-side reactive database with a relational graph model and instant sync.
- [Neon + Drizzle](https://toolweight.com/options/neon-drizzle), The DIY baseline: serverless Postgres, a typed SQL query builder, nothing else.
- [Nhost](https://toolweight.com/options/nhost), Postgres plus Hasura GraphQL, auth, storage and serverless functions.
- [PocketBase](https://toolweight.com/options/pocketbase), One Go binary: SQLite database, auth, file storage, realtime and an admin UI.
- [Zero](https://toolweight.com/options/rocicorp-zero), Sync engine that puts a queryable client cache in front of your own Postgres.
- [Supabase](https://toolweight.com/options/supabase), Managed Postgres with auth, storage, realtime and edge functions around it.
- [Triplit](https://toolweight.com/options/triplit), Full-stack database that syncs: local cache, server, relational queries, offline.

## Licence and attribution

Data from toolweight (https://toolweight.com), licensed CC-BY-4.0.

- Licence: [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/)
- Canonical HTML: https://toolweight.com/options/appwrite
- Machine-readable: https://toolweight.com/options/appwrite.md · https://toolweight.com/api/v1 · https://toolweight.com/mcp
- toolweight takes no affiliate revenue and sells no placements. Corrections: https://toolweight.com/suggest
