Skip to content

Backend as a Service Arena

Convex vs Appwrite

Appwrite wins · 1220 (18 drawn)

Agenticness — how well agents can access and operate the productAgenticness

How well agents can access and operate the product

Agent access

  1. ai-native userPoint an agent at llms.txt or agent-oriented docs

    weight 2 · round to Appwrite
    Convexfullprobed8/10

    Convex confirmed hosts a live llms.txt (HTTP 200) plus a dedicated agent-setup.md file explicitly aimed at making 'your agent a Convex expert,' directly satisfying the story. missing for 10: no independent/third-party confirmation of agents actually consuming these files successfully, and per-page .md docs return 404 so coverage is limited to the root llms.txt/agent-setup files rather than full doc-tree markdown mirrors.

    • [probe] PROBE llms.txt: HTTP 200 at https://docs.convex.dev/llms.txt # Convex Documentation > For general information about Convex, read [https://w…
    • [claimed-docs] Make your agent a Convex expert: Get Convex-ready by following https://www.convex.dev/agent-setup.md
    • [probe] PROBE docs-md: HTTP 404 at https://docs.convex.dev/home.md
    Appwritefullprobed9/10

    Appwrite explicitly hosts an llms.txt (confirmed via live probe returning HTTP 200) and docs.md, plus supports appending .md to any doc page for raw Markdown, and provides Skills files for agent context — directly matching the story. missing for 10: no independent/community corroboration of agents actually consuming these files.

    • [probe] PROBE llms.txt: HTTP 200 at https://appwrite.io/llms.txt # Appwrite > Appwrite is an open-source backend platform with authentication, data…
    • [probe] PROBE docs-md: HTTP 200 at https://appwrite.io/docs.md # Appwrite Docs > Top-level documentation sections. For the full nested page index, …
    • [claimed-docs] You can access any documentation page as raw Markdown by appending `.md` to the URL.
    • [claimed-docs] Skills are open-source Markdown files that give AI agents deep knowledge of Appwrite SDKs and services.
  2. ai-native userRun the product headlessly / in CI for automation

    weight 2 · round to Appwrite
    Convexpartialprobed6/10

    Convex ships a documented CLI (`npx convex run`, `npx convex import`, `npx convex deploy` implied, `npx convex logs`) and HTTP API for calling functions, both of which are automatable/scriptable in CI, plus self-hosting options for full non-interactive control. However, there is no explicit documentation of a headless/non-interactive CI mode, no CI recipe or GitHub Actions example, and the dev CLI is described as a filesystem-watching interactive workflow rather than an explicit CI-first mode. missing for 10: explicit CI/automation docs or examples (e.g., GitHub Actions integration, non-interactive deploy flags), confirmation that `npx convex deploy` runs fully headlessly without auth prompts.

    • [claimed-docs] npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
    • [claimed-docs] `npx convex import` — Import data from a file to your deployment
    • [claimed-docs] `npx convex logs` — Watch logs from your deployment
    • [claimed-docs] The public functions that define a deployment are exposed at public HTTP endpoints.
    • [claimed-docs] These HTTP endpoints allow you to call Convex functions and get the result as a value.
    • [claimed-docs] If you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend...
    • [github] Self-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.
    • [probe] official CLI documented at https://docs.convex.dev/cli/overview
    Appwritefullprobed8/10

    Appwrite explicitly documents a non-interactive/headless CLI mode designed for CI automation (appwrite-docs-42), backed by a full CLI for managing projects, resources, and Functions (appwrite-docs-12, appwrite-docs-18), self-hosting via Docker for full infra control (appwrite-docs-14/19/33), and API-driven triggers for functions via HTTP/SDK/webhooks/schedules (appwrite-docs-9). missing for 10: independent/hands-on CI pipeline examples or third-party confirmation of headless CLI use in production.

    • [claimed-docs] The Appwrite CLI can be used in a non-interactive and headless manner, without saving configuration or sessions. This is especially useful w…
    • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions, and other …
    • [claimed-docs] Appwrite was designed from the ground up with self-hosting in mind. You can install and run Appwrite on any operating system that can run a …
    • [claimed-docs] These Functions can be triggered by HTTP requests, SDK methods, server events, webhooks, and scheduled executions.
    • [claimed-docs] Add the --endpoint flag if you're using a self-hosted instance of Appwrite.
    • [probe] official CLI documented at https://appwrite.io/docs/tooling/command-line/installation
  3. ai-native userPlug MCP servers into this product so it can use their tools

    weight 3 · round drawn
    Convexnone0/10

    All MCP-related evidence describes Convex shipping its OWN MCP server so external AI agents can call Convex's tools (convex-docs-10, convex-probe-4, convex-docs-28) — this is the opposite direction from the story, which asks whether Convex itself can plug in and consume external MCP servers' tools. No evidence shows Convex acting as an MCP client or invoking third-party MCP tool servers from its backend/actions.

    • [claimed-docs] The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
    • [probe] official MCP server documented at https://docs.convex.dev/ai/convex-mcp-server
    • [claimed-docs] By default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production …
    Appwritenone0/10

    The evidence only shows Appwrite exposing its own MCP server so external AI agents (Claude Code, Cursor, etc.) can call Appwrite's API — the opposite direction from the story, which asks whether Appwrite itself can plug in and consume other MCP servers' tools. No documentation or CLI feature describes Appwrite acting as an MCP client or importing external MCP tool servers.

    • [claimed-docs] Appwrite offers a Model Context Protocol (MCP) server that allows LLMs to directly interact with Appwrite's API and docs.
    • [claimed-docs] you can use applications such as Claude Code, Codex, Cursor, Claude Desktop, and others to operate on your Appwrite project as well as gain …
    • [probe] official MCP server documented at https://appwrite.io/docs/tooling/ai/mcp-servers
  4. ai-native userConnect an agent via an official MCP server

    weight 3 · round drawn
    Convexfullprobed8/10

    Convex ships an official documented MCP server (docs.convex.dev/ai/convex-mcp-server) that exposes tools for AI agents to interact with a Convex deployment, with a safety note that it restricts production access by default, and this is corroborated by a direct probe confirming the doc page exists. Convex is a backend/database product (not itself an agent), so serving an MCP server is squarely within its category. Missing for 10: independent/hands-on community confirmation of the MCP server working in practice, and more detail on the specific tool set exposed.

    • [claimed-docs] The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
    • [claimed-docs] By default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production …
    • [probe] official MCP server documented at https://docs.convex.dev/ai/convex-mcp-server
    Appwritefullprobed8/10

    Appwrite documents an official MCP server that lets LLMs/agents (Claude Code, Cursor, Claude Desktop, etc.) directly interact with Appwrite's API and docs, covering project/resource management and function deployment. This is first-party documented and probe-confirmed, though there's no independent hands-on verification of the MCP server's reliability. Missing for 10: independent/community corroboration of the MCP server working in practice, and more detail on setup/auth flow.

    • [claimed-docs] Appwrite offers a Model Context Protocol (MCP) server that allows LLMs to directly interact with Appwrite's API and docs.
    • [claimed-docs] you can use applications such as Claude Code, Codex, Cursor, Claude Desktop, and others to operate on your Appwrite project as well as gain …
    • [probe] official MCP server documented at https://appwrite.io/docs/tooling/ai/mcp-servers
  5. ai-native userUse an official CLI

    weight 2 · round drawn
    Convexfullprobed8/10

    Convex ships an official CLI (npx convex ...) with documented commands for dev workflow, running functions, importing data, logs, and insights, and it explicitly integrates with AI-native workflows via agent setup docs and MCP tooling. missing for 10: independent/hands-on third-party corroboration of the CLI's AI-native ergonomics beyond first-party docs, and no explicit versioning/stability notes for CLI commands.

    • [claimed-docs] Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment
    • [claimed-docs] Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment and the generated…
    • [claimed-docs] npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
    • [claimed-docs] `npx convex import` — Import data from a file to your deployment
    • [claimed-docs] `npx convex insights` — Show health insights for your deployment
    • [claimed-docs] `npx convex logs` — Watch logs from your deployment
    • [claimed-docs] Make your agent a Convex expert: Get Convex-ready by following https://www.convex.dev/agent-setup.md
    • [probe] official CLI documented at https://docs.convex.dev/cli/overview
    Appwritefullprobed8/10

    Appwrite documents an official CLI covering project/resource management, function deployment, non-interactive/headless CI use, SDK generation, and self-hosted endpoint targeting, which is well suited to AI-native/agentic automation workflows. missing for 10: independent hands-on community corroboration of the CLI itself (evidence is entirely first-party docs) and no explicit example of an AI agent scripting the CLI end-to-end.

    • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions, and other …
    • [claimed-docs] you can split top-level resource arrays into separate JSON files with the `includes` field.
    • [claimed-docs] Add the --endpoint flag if you're using a self-hosted instance of Appwrite.
    • [claimed-docs] The generate command creates a type-safe SDK tailored to your project. It detects your project's language and generates typed helpers based …
    • [claimed-docs] The Appwrite CLI can be used in a non-interactive and headless manner, without saving configuration or sessions. This is especially useful w…
    • [probe] official CLI documented at https://appwrite.io/docs/tooling/command-line/installation
  6. ai-native userDrive the product through a documented public API

    weight 3 · round drawn
    Convexfullprobed8/10

    Convex documents a public HTTP API that exposes deployment functions as callable endpoints, a full-featured CLI for scripting deployments, and an official MCP server specifically for AI agents to interact with the deployment — together giving an AI-native user multiple documented, programmatic ways to drive the product. Missing for 10: a formal OpenAPI/swagger spec (probes found only 404s) and independent hands-on corroboration of third-party API usage.

    • [claimed-docs] The public functions that define a deployment are exposed at public HTTP endpoints.
    • [claimed-docs] These HTTP endpoints allow you to call Convex functions and get the result as a value.
    • [claimed-docs] npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
    • [claimed-docs] The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
    • [claimed-docs] By default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production …
    • [probe] official CLI documented at https://docs.convex.dev/cli/overview
    • [probe] official MCP server documented at https://docs.convex.dev/ai/convex-mcp-server
    • [probe] PROBE openapi: all candidate paths 404 (https://docs.convex.dev/openapi.json, https://docs.convex.dev/swagger.json, https://docs.convex.dev/…
    Appwritefullprobed8/10

    Appwrite exposes a full public API surface (auth, databases, storage, functions) with SDKs, a documented CLI for automation/CI, docs-as-markdown and llms.txt for machine consumption, and an official MCP server letting agents call the API accurately. This is strong first-party documentation of programmatic/agentic access, though an OpenAPI spec probe returned 404s. Missing for 10: a publicly discoverable OpenAPI/swagger spec and independent (non-vendor) hands-on confirmation of agentic API usage.

    • [claimed-docs] Appwrite offers a Model Context Protocol (MCP) server that allows LLMs to directly interact with Appwrite's API and docs.
    • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions, and other …
    • [claimed-docs] you can use applications such as Claude Code, Codex, Cursor, Claude Desktop, and others to operate on your Appwrite project as well as gain …
    • [claimed-docs] Skills are open-source Markdown files that give AI agents deep knowledge of Appwrite SDKs and services.
    • [claimed-docs] You can access any documentation page as raw Markdown by appending `.md` to the URL.
    • [claimed-docs] The Appwrite CLI can be used in a non-interactive and headless manner, without saving configuration or sessions. This is especially useful w…
    • [probe] PROBE llms.txt: HTTP 200 at https://appwrite.io/llms.txt # Appwrite > Appwrite is an open-source backend platform with authentication, data…
    • [probe] PROBE docs-md: HTTP 200 at https://appwrite.io/docs.md # Appwrite Docs > Top-level documentation sections. For the full nested page index, …
    • [probe] PROBE openapi: all candidate paths 404 (https://appwrite.io/openapi.json, https://appwrite.io/swagger.json, https://appwrite.io/api/openapi.…
    • [probe] official MCP server documented at https://appwrite.io/docs/tooling/ai/mcp-servers
    • [probe] official CLI documented at https://appwrite.io/docs/tooling/command-line/installation
  7. ai-native userIssue scoped/least-privilege API credentials for an agent

    weight 2 · round drawn
    Convexpartialclaimed3/10

    The only relevant evidence is that Convex's MCP server is restricted from production deployments by default as a safety measure, which is a coarse, binary dev/prod restriction rather than true scoped/least-privilege credential issuance for agents (e.g., granular API keys, role-based tokens, or fine-grained permission scopes). Missing for 10: documented ability to mint scoped API keys/tokens per agent, granular permission models, or per-function/table credential scoping.

    • [claimed-docs] By default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production …
    • [claimed-docs] The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
    Appwritepartialclaimed3/10

    Appwrite documents JWT-based delegated access for users (appwrite-docs-35) and a permissions-based database/resource model (appwrite-docs-6, appwrite-docs-23), which could underpin least-privilege credentialing, but there is no explicit documentation of issuing scoped API keys/tokens specifically for AI agents. missing for 10: explicit docs on creating agent-specific scoped API keys, examples of least-privilege key scoping for MCP/agent use, and independent confirmation this works in practice for agent credentials.

    • [claimed-docs] Deligate access for a user through passing JWT tokens.
    • [claimed-docs] Structured, relational data with typed columns, rows, relationships, and indexes.
    • [claimed-docs] Choose the database that fits your use case, from managed APIs with permissions and realtime to dedicated native engines you connect to dire…
    • [claimed-docs] Appwrite offers a Model Context Protocol (MCP) server that allows LLMs to directly interact with Appwrite's API and docs.
  8. ai-native userBuild against official SDKs

    weight 2 · round to Convex
    Convexfullprobed8/10

    Convex ships official SDKs/framework integrations for React, Next.js, Remix, TanStack Start, React Native, Vue, Nuxt, and Svelte, backed by typed client libraries, CLI tooling, and generated types, plus explicit AI-native tooling (MCP server, agent-setup guide) that lets AI-native developers build against these SDKs directly. Missing for 10: independent/hands-on third-party verification of SDK quality/completeness beyond vendor docs, and no OpenAPI/REST spec for non-JS ecosystems.

    • [claimed-docs] Using your favorite frameworks: * React * Next.js * Remix * TanStack Start * React Native * Vue * Nuxt * Svelte
    • [claimed-docs] Start a new Convex project![...]`npm create convex@latest`
    • [claimed-docs] Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment and the generated…
    • [claimed-docs] npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
    • [claimed-docs] The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
    • [claimed-docs] Make your agent a Convex expert: Get Convex-ready by following https://www.convex.dev/agent-setup.md
    • [probe] official MCP server documented at https://docs.convex.dev/ai/convex-mcp-server
    • [probe] official CLI documented at https://docs.convex.dev/cli/overview
    Appwritefullprobed7/10

    Appwrite explicitly supports SDK-based development with 'SDK methods' triggering Functions, a CLI 'generate' command that creates type-safe SDKs from project schema, and dedicated AI-native tooling (MCP server for 'SDK-accurate calls', Skills markdown files, docs-as-markdown, llms.txt) that teaches agents to use its SDKs correctly. This shows first-party investment in making SDKs agent-buildable, though the pack lacks an explicit enumerated list of supported SDK languages or independent hands-on validation of SDK quality. Missing for 10: explicit list/count of official SDK languages, independent developer corroboration of SDK reliability.

    • [claimed-docs] These Functions can be triggered by HTTP requests, SDK methods, server events, webhooks, and scheduled executions.
    • [claimed-docs] The generate command creates a type-safe SDK tailored to your project. It detects your project's language and generates typed helpers based …
    • [claimed-docs] Teach agents your backend so they make SDK-accurate calls.
    • [claimed-docs] you can use applications such as Claude Code, Codex, Cursor, Claude Desktop, and others to operate on your Appwrite project as well as gain …
    • [claimed-docs] Skills are open-source Markdown files that give AI agents deep knowledge of Appwrite SDKs and services.
    • [claimed-docs] You can access any documentation page as raw Markdown by appending `.md` to the URL.
    • [probe] PROBE llms.txt: HTTP 200 at https://appwrite.io/llms.txt # Appwrite > Appwrite is an open-source backend platform with authentication, data…
    • [probe] PROBE docs-md: HTTP 200 at https://appwrite.io/docs.md # Appwrite Docs > Top-level documentation sections. For the full nested page index, …
  9. ai-native userSubscribe to events via webhooks

    weight 2 · round to Appwrite
    Convexnone0/10

    Convex exposes HTTP endpoints so external clients can call Convex functions (docs-9, docs-31), but there is no evidence of an outbound webhook mechanism where Convex notifies subscribers of database/event changes. This is a fair capability for a reactive backend to offer, but no such feature is documented.

    • [claimed-docs] The public functions that define a deployment are exposed at public HTTP endpoints.
    • [claimed-docs] These HTTP endpoints allow you to call Convex functions and get the result as a value.
    Appwritepartialclaimed5/10

    Appwrite Functions can be triggered by webhooks, and Appwrite supports responding to server events in realtime, indicating webhook-based event subscription exists, but there's no dedicated documentation detailing webhook subscription setup, payload format, or management specifically for AI-native agent use. missing for 10: dedicated webhook subscription docs/API reference, examples of AI agents configuring webhook subscriptions, independent hands-on verification of webhook delivery.

    • [claimed-docs] These Functions can be triggered by HTTP requests, SDK methods, server events, webhooks, and scheduled executions.
    • [claimed-docs] Respond to server events in realtime.

Agentic features

  1. ai-native userGet AI-generated insights and suggestions from my data inside the product

    weight 2 · round drawn
    Convexnone0/10

    Convex provides infrastructure (vector search, MCP server) that lets developers build AI features on top of their data, and a CLI 'insights' command that surfaces deployment health metrics — but there is no evidence Convex itself surfaces AI-generated insights or suggestions about the user's actual application data inside the product.

    • [claimed-docs] `npx convex insights` — Show health insights for your deployment
    • [claimed-docs] Vector search allows you to find Convex documents similar to a provided vector... enable you to provide useful context to LLMs for AI powere…
    • [claimed-docs] The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
    Appwritenone0/10

    Appwrite's AI-related docs describe building blocks for developers to add AI features to their own apps (embeddings storage, image labeling, functions) and tooling for external AI agents (MCP server, CLI, skills) — not Appwrite itself surfacing AI-generated insights or suggestions about the user's own data inside the product (e.g., an analytics/insights dashboard). No evidence of such a first-party insights feature was found.

    • [claimed-docs] Store embeddings and run similarity search to power AI features.
    • [claimed-docs] Label and understand the contents of images
    • [claimed-docs] Understand and label the contents of images
    • [claimed-docs] Appwrite allows you to build powerful AI powered applications with ease. Leverage Appwrite's powerful functions architecture and start build…
  2. ai-native userSet up automations that run autonomously in the background

    weight 2 · round to Appwrite
    Convexnone0/10

    The evidence pack has no mention of Convex scheduled functions, cron jobs, or any mechanism for autonomous background automation; it only covers reactive queries, HTTP endpoints, and an MCP server for interactive agent access to a deployment. Missing for 10: any citation of cron/scheduled functions, background job triggers, or autonomous workflow execution.

      Appwritepartialclaimed6/10

      Appwrite Functions can be triggered by scheduled executions, server events, and webhooks (appwrite-docs-9), which enables autonomous background automations, and the CLI supports non-interactive/headless automation for CI use (appwrite-docs-42). However, there's no dedicated 'agent automation' or workflow-orchestration framework documented specifically for AI-native autonomous agents beyond scheduled Functions — missing for 10: no evidence of long-running agent orchestration, multi-step autonomous agent workflows, or independent hands-on validation of scheduled/background automation reliability.

      • [claimed-docs] These Functions can be triggered by HTTP requests, SDK methods, server events, webhooks, and scheduled executions.
      • [claimed-docs] The Appwrite CLI can be used in a non-interactive and headless manner, without saving configuration or sessions. This is especially useful w…
      • [claimed-docs] Appwrite offers a Model Context Protocol (MCP) server that allows LLMs to directly interact with Appwrite's API and docs.
      • [claimed-docs] you can use applications such as Claude Code, Codex, Cursor, Claude Desktop, and others to operate on your Appwrite project as well as gain …
    • ai-native userDelegate tasks to a built-in AI assistant inside the product

      weight 3 · round drawn
      Convexnone0/10

      Convex ships an MCP server and CLI that let external AI agents interact with a Convex deployment, and docs mention it 'works great with coding agents,' but this is agent-to-Convex tooling, not a built-in assistant embedded inside Convex itself that a user can delegate tasks to. No evidence of an in-product chat/assistant feature exists in the pack.

      • [claimed-docs] The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
      • [claimed-docs] Convex works great with coding agents. Starting a new project is as easy as asking your agent to create a new app with Convex.
      • [claimed-docs] By default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production …
      Appwritenone0/10

      Appwrite's evidence shows it exposes AI-related APIs (image labeling, embeddings), an MCP server for external AI agents/tools to control Appwrite, and CLI/skills for agentic tooling — but nothing describes a built-in assistant inside the Appwrite product/console that a user can delegate tasks to. The MCP and CLI integrations are about external AI agents driving Appwrite, not Appwrite hosting its own assistant.

      • [claimed-docs] Appwrite offers a Model Context Protocol (MCP) server that allows LLMs to directly interact with Appwrite's API and docs.
      • [claimed-docs] Appwrite allows you to build powerful AI powered applications with ease. Leverage Appwrite's powerful functions architecture and start build…
      • [claimed-docs] Label and understand the contents of images
      • [claimed-docs] Understand and label the contents of images
    • ai-native userOperate the product with natural-language commands

      weight 2 · round to Appwrite
      Convexpartialprobed6/10

      Convex offers an official MCP server so AI agents can inspect/query deployments in natural language, plus agent-setup guidance and messaging that it 'works great with coding agents' for scaffolding projects via natural-language requests. However, this relies entirely on external coding agents/MCP clients rather than a built-in NL interface, and production access is restricted by default. Missing for 10: a first-party conversational/NL interface within Convex itself, and independent hands-on evidence of natural-language operation succeeding end-to-end.

      • [claimed-docs] The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
      • [claimed-docs] Make your agent a Convex expert: Get Convex-ready by following https://www.convex.dev/agent-setup.md
      • [claimed-docs] Convex works great with coding agents. Starting a new project is as easy as asking your agent to create a new app with Convex.
      • [claimed-docs] By default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production …
      • [probe] official MCP server documented at https://docs.convex.dev/ai/convex-mcp-server
      Appwritefullprobed8/10

      Appwrite ships an official MCP server plus open-source "Skills" markdown files that let AI agents/LLMs (via Claude Desktop, Cursor, Codex, etc.) directly operate on an Appwrite project—creating/managing projects, resources, and functions—using natural-language driven tool calls rather than manual API/CLI work, and docs are also served as raw markdown for agent consumption. Missing for 10: independent/hands-on user reports confirming the MCP server works reliably in practice, and no evidence of a broader natural-language chat/command interface beyond the MCP/agent-tooling layer.

      • [claimed-docs] Appwrite offers a Model Context Protocol (MCP) server that allows LLMs to directly interact with Appwrite's API and docs.
      • [claimed-docs] you can use applications such as Claude Code, Codex, Cursor, Claude Desktop, and others to operate on your Appwrite project as well as gain …
      • [claimed-docs] Skills are open-source Markdown files that give AI agents deep knowledge of Appwrite SDKs and services.
      • [claimed-docs] Teach agents your backend so they make SDK-accurate calls.
      • [claimed-docs] You can access any documentation page as raw Markdown by appending `.md` to the URL.
      • [probe] official MCP server documented at https://appwrite.io/docs/tooling/ai/mcp-servers

    Api quality

    1. ai-native userExplore an interactive API reference with runnable examples

      weight 2 · round drawn
      Convexnone0/10

      No evidence of an interactive API reference or runnable-example playground; probes explicitly show no OpenAPI/Swagger spec (404s) and only static docs pages plus an llms.txt for AI consumption. Convex offers CLI, MCP server, and HTTP API docs, but nothing indicating a browsable, runnable API explorer.

      • [probe] PROBE docs-md: HTTP 404 at https://docs.convex.dev/home.md
      • [probe] PROBE openapi: all candidate paths 404 (https://docs.convex.dev/openapi.json, https://docs.convex.dev/swagger.json, https://docs.convex.dev/…
      • [claimed-docs] The public functions that define a deployment are exposed at public HTTP endpoints.
      • [claimed-docs] These HTTP endpoints allow you to call Convex functions and get the result as a value.
      Appwritenone0/10

      The evidence pack shows Appwrite documentation, CLI, and MCP tooling for AI agents, but nothing describes an interactive API reference or console where users can run live code examples. A probe for OpenAPI/Swagger endpoints returned 404s, further suggesting no exposed interactive reference is confirmed.

      • [probe] PROBE openapi: all candidate paths 404 (https://appwrite.io/openapi.json, https://appwrite.io/swagger.json, https://appwrite.io/api/openapi.…
    2. ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)

      weight 2 · round drawn
      Convexnone0/10

      A direct probe for OpenAPI/swagger spec files at all standard candidate paths returned 404, and no documentation mentions a downloadable API spec despite Convex exposing HTTP endpoints for functions.

      • [probe] PROBE openapi: all candidate paths 404 (https://docs.convex.dev/openapi.json, https://docs.convex.dev/swagger.json, https://docs.convex.dev/…
      • [claimed-docs] The public functions that define a deployment are exposed at public HTTP endpoints.
      • [claimed-docs] These HTTP endpoints allow you to call Convex functions and get the result as a value.
      Appwritenone0/10

      Appwrite is an API-driven backend platform, so publishing a machine-readable API spec (OpenAPI/Swagger) is a fair and applicable ask. A direct probe for standard OpenAPI/Swagger endpoints (openapi.json, swagger.json, etc.) returned 404 on all candidates, and no docs evidence points to a downloadable spec file, only CLI/MCP/markdown docs tooling.

      • [probe] PROBE openapi: all candidate paths 404 (https://appwrite.io/openapi.json, https://appwrite.io/swagger.json, https://appwrite.io/api/openapi.…
      • [probe] PROBE llms.txt: HTTP 200 at https://appwrite.io/llms.txt # Appwrite > Appwrite is an open-source backend platform with authentication, data…
      • [probe] PROBE docs-md: HTTP 200 at https://appwrite.io/docs.md # Appwrite Docs > Top-level documentation sections. For the full nested page index, …
    3. ai-native userTest against a sandbox environment without touching production data

      weight 1 · round to Convex
      Convexfullclaimed8/10

      Convex has separate dev/production deployments (npx convex dev pushes to dev deployment, not prod) and the official MCP server explicitly blocks access to production deployments by default as a safety measure to prevent accidental modifications to production data, directly enabling sandboxed testing for AI agents. missing for 10: independent/hands-on corroboration of this safety boundary actually holding in practice, and no explicit mention of a dedicated 'staging' environment distinct from dev/prod.

      • [claimed-docs] By default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production …
      • [claimed-docs] The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
      • [claimed-docs] Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment
      • [claimed-docs] npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
      Appwritepartialclaimed4/10

      Appwrite's self-hosting capability (docs-14/19/33/34) lets a user spin up an isolated instance separate from production, and CLI non-interactive mode (docs-42) supports automated CI testing, which together imply a way to test without touching production data. However, there is no explicit 'sandbox' or staging-environment feature, no seed/reset-data tooling, and no documentation calling out this exact workflow. missing for 10: explicit sandbox/staging environment feature, data-seeding/reset tooling, first-party guidance on isolating test vs prod data.

      • [claimed-docs] Appwrite was designed from the ground up with self-hosting in mind. You can install and run Appwrite on any operating system that can run a …
      • [claimed-docs] You can install and run Appwrite on any operating system that can run a Docker CLI.
      • [claimed-docs] You want to manage your own infrastructure
      • [claimed-docs] The Appwrite CLI can be used in a non-interactive and headless manner, without saving configuration or sessions. This is especially useful w…
    4. ai-native userRely on versioned APIs with a documented deprecation policy

      weight 2 · round drawn
      Convexnone0/10

      No evidence of API versioning scheme or a documented deprecation policy; OpenAPI spec probe returned 404s and no changelog/versioning docs are cited.

      • [probe] PROBE openapi: all candidate paths 404 (https://docs.convex.dev/openapi.json, https://docs.convex.dev/swagger.json, https://docs.convex.dev/…
      Appwritenone0/10

      No evidence pack item references API versioning scheme or a documented deprecation policy; the openapi.json probe even returned 404s, suggesting no discoverable versioned API spec. No mention of version numbers, deprecation timelines, or migration guides for breaking changes.

      • [probe] PROBE openapi: all candidate paths 404 (https://appwrite.io/openapi.json, https://appwrite.io/swagger.json, https://appwrite.io/api/openapi.…

    Ai vector — stories about ai vector in this arenaAi vector

    Stories about ai vector in this arena

    Ai assist

    1. ai-native userAsk an AI assistant in the dashboard to write queries, debug errors, and explain my backend

      weight 2 · round drawn
      Convexnone0/10

      Evidence shows an official MCP server that lets external AI agents (e.g., coding assistants in an IDE) query/mutate/debug a Convex deployment, but nothing describes an AI assistant embedded within the Convex dashboard UI itself for writing queries, debugging errors, or explaining the backend. The story specifically asks about an in-dashboard assistant, which is not evidenced.

      • [claimed-docs] The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
      • [claimed-docs] By default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production …
      • [claimed-docs] Make your agent a Convex expert: Get Convex-ready by following https://www.convex.dev/agent-setup.md
      Appwritenone0/10

      Evidence shows Appwrite ships an MCP server and CLI/skills so external AI coding agents (Claude Code, Cursor, etc.) can operate on an Appwrite project, but there is no evidence of an in-dashboard/console AI chat assistant that users can converse with to write queries, debug errors, or get explanations directly inside the Appwrite UI.

      • [claimed-docs] Appwrite offers a Model Context Protocol (MCP) server that allows LLMs to directly interact with Appwrite's API and docs.
      • [claimed-docs] you can use applications such as Claude Code, Codex, Cursor, Claude Desktop, and others to operate on your Appwrite project as well as gain …
      • [claimed-docs] Skills are open-source Markdown files that give AI agents deep knowledge of Appwrite SDKs and services.
      • [claimed-docs] Appwrite allows you to build powerful AI powered applications with ease. Leverage Appwrite's powerful functions architecture and start build…

    Vector

    1. developerStore embeddings and run vector similarity search for AI features

      weight 3 · round to Convex
      Convexfullclaimed8/10

      Convex documents native vector search over stored documents specifically framed for embeddings and LLM context/recommendations use cases (convex-docs-7, convex-docs-14, convex-docs-29, convex-docs-35), integrated directly into its database without extra infrastructure. Missing for 10: independent hands-on benchmarks or community validation of vector search at scale, and details on index configuration/limits.

      • [claimed-docs] Vector search allows you to find Convex documents similar to a provided vector... enable you to provide useful context to LLMs for AI powere…
      • [claimed-docs] Vector search allows you to find Convex documents similar to a provided vector. Typically, vectors will be embeddings which are numerical re…
      • [claimed-docs] Vector search allows you to find Convex documents similar to a provided vector... enable you to provide useful context to LLMs for AI powere…
      • [claimed-docs] Vector search allows you to find Convex documents similar to a provided vector.
      Appwritepartialclaimed5/10

      Appwrite's docs explicitly claim to "Store embeddings and run similarity search to power AI features" as part of its database product, but there is no detail on implementation (index types, distance metrics, API specifics) or any independent/hands-on corroboration that this works in practice. missing for 10: technical details on vector search API/config, independent or hands-on validation, performance/scale characteristics.

      • [claimed-docs] Store embeddings and run similarity search to power AI features.
      • [claimed-docs] Choose the database that fits your use case, from managed APIs with permissions and realtime to dedicated native engines you connect to dire…
      • [claimed-docs] Appwrite allows you to build powerful AI powered applications with ease. Leverage Appwrite's powerful functions architecture and start build…

    Auth — stories about auth in this arenaAuth

    Stories about auth in this arena

    Authentication

    1. developerAdd email/password and social OAuth sign-in with the platform SDK in minutes

      weight 3 · round to Appwrite
      Convexpartialclaimed6/10

      Convex docs confirm Convex Auth library supports password, social OAuth, OTP email/SMS sign-in, plus recommended third-party providers like Clerk/Auth0/WorkOS with SDK integration guidance for React/Next.js/React Native, but the evidence doesn't show a single unified 'minutes' quick-start flow or hands-on confirmation of setup speed. missing for 10: a concrete quick-start walkthrough/tutorial demonstrating minutes-level setup, independent developer testimony confirming ease/speed, and explicit code snippets for combined email/password + OAuth configuration.

      • [claimed-docs] Clerk has great Next.js and React Native support
      • [claimed-docs] you can implement auth directly in Convex with the Convex Auth library... helps you build a custom sign-up/sign-in flow via social identity …
      • [claimed-docs] Clerk has great Next.js and React Native support ... WorkOS AuthKit is built for B2B apps ... Auth0 is more established with more bells and …
      • [claimed-docs] For client-side React and React Native mobile apps you can implement auth directly in Convex with the Convex Auth library.
      Appwritefullclaimed9/10

      Docs explicitly cover email/password login with Argon2 hashing in a few lines of code, plus OAuth sign-in with GitHub, Google, Facebook and 30+ providers via SDK, matching the story closely. Missing for 10: independent/hands-on developer confirmation of the 'minutes' setup time, as evidence is entirely vendor docs.

      • [claimed-docs] Authenticate users with existing accounts from GitHub, Google, Facebook, and 30+ other providers.
      • [claimed-docs] Sign in users with multiple OAuth providers.
      • [claimed-docs] Email and password login with just a few lines of code secured with state of the art Argon2 hashing.
    2. platform-engineerRequire MFA and enterprise SSO (SAML/OIDC) for my application users

      weight 2 · round to Appwrite
      Convexnone0/10

      Convex docs describe auth via third-party providers (Clerk, WorkOS AuthKit, Auth0) or its own Convex Auth library for social/email/password sign-in, but there is no evidence of built-in enterprise SSO (SAML/OIDC) or MFA enforcement controls for a platform engineer to configure directly; these would depend entirely on the chosen third-party provider's capabilities, which aren't documented here.

      • [claimed-docs] Clerk has great Next.js and React Native support
      • [claimed-docs] you can implement auth directly in Convex with the Convex Auth library... helps you build a custom sign-up/sign-in flow via social identity …
      • [claimed-docs] Clerk has great Next.js and React Native support ... WorkOS AuthKit is built for B2B apps ... Auth0 is more established with more bells and …
      • [claimed-docs] For client-side React and React Native mobile apps you can implement auth directly in Convex with the Convex Auth library.
      Appwritepartialclaimed4/10

      Appwrite's docs explicitly cover implementing MFA (appwrite-docs-4) and OAuth-based logins with 30+ providers (appwrite-docs-1, appwrite-docs-26), satisfying the MFA half of the story. However, there is no evidence of enterprise SSO protocols like SAML or OIDC being supported — only generic OAuth (Google, GitHub, Facebook, etc.) is documented, which is not the same as enterprise-grade SAML/OIDC federation. Missing for 10: explicit SAML/OIDC enterprise SSO support, admin-enforced MFA/SSO policy controls, and any enterprise identity-provider integration docs.

      • [claimed-docs] Implementing MFA to add extra layers of security to your app.
      • [claimed-docs] Authenticate users with existing accounts from GitHub, Google, Facebook, and 30+ other providers.
      • [claimed-docs] Sign in users with multiple OAuth providers.

    Automation depth — how much of the product can run unattendedAutomation depth

    How much of the product can run unattended

    1. ai-native userPerform bulk operations across many items at once

      weight 2 · round to Convex
      Convexpartialclaimed4/10

      Convex supports bulk data import via `npx convex import` and lets mutations/queries run arbitrary JS over many documents, and the MCP server lets AI agents call these functions on a deployment. However, there's no documented explicit bulk-write/update/delete API, batch size limits, or a concrete example of an AI agent performing a bulk operation end-to-end. missing for 10: explicit bulk mutation/update/delete API docs, batch operation guarantees/limits, hands-on evidence of an AI agent executing bulk operations via MCP or CLI.

      • [claimed-docs] `npx convex import` — Import data from a file to your deployment
      • [claimed-docs] The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
      • [claimed-docs] npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
      • [claimed-docs] The public functions that define a deployment are exposed at public HTTP endpoints.
      Appwritenone0/10

      Evidence shows Appwrite's CLI can push/pull configuration and manage resources, and its MCP server lets LLMs call SDK methods, but there is no documentation of a bulk/batch API (e.g., batch create, update, or delete across many rows/files/users) that would let an AI-native user perform true bulk operations. Missing for 10: explicit bulk create/update/delete endpoints or CLI commands operating on many items in one call, and any hands-on confirmation of such batch semantics.

      • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions, and other …
      • [claimed-docs] you can split top-level resource arrays into separate JSON files with the `includes` field.
      • [claimed-docs] The Appwrite CLI can be used in a non-interactive and headless manner, without saving configuration or sessions. This is especially useful w…
      • [claimed-docs] Appwrite offers a Model Context Protocol (MCP) server that allows LLMs to directly interact with Appwrite's API and docs.
    2. ai-native userDefine rules that trigger actions automatically on events

      weight 3 · round to Appwrite
      Convexnone0/10

      The evidence describes Convex's reactive query model (queries automatically re-run when underlying data changes) and HTTP endpoints for calling functions, but there is no mention of user-definable rules, triggers, cron jobs, or scheduled/event-driven actions that a user could configure to fire automatically on arbitrary events. Missing for 10: any documentation of scheduled functions, cron/triggers, or a rule-definition mechanism for automated actions on events.

      • [community] Convex explains reactivity model: 'there is no polling going on here - the query only reruns when the data dependencies change server-side d…
      • [community] Convex co-founder (sujayakar) explains internals: 'we entirely re-run the javascript function whenever we detect any of its inputs change...…
      • [community] Convex engineer (james_cowling) on query invalidation: 'We track the readset for any active subscription. When a new write transaction commi…
      • [claimed-docs] The public functions that define a deployment are exposed at public HTTP endpoints.
      • [claimed-docs] These HTTP endpoints allow you to call Convex functions and get the result as a value.
      Appwritepartialclaimed6/10

      Appwrite Functions can be triggered automatically by server events, webhooks, HTTP requests, SDK calls, and scheduled executions, and the docs mention responding to server events in realtime — this supports rule-like automation on events. However, there's no evidence of a dedicated declarative 'rules engine' (e.g., conditional trigger definitions, if-this-then-that style automation) beyond function triggers. Missing for 10: a first-class rules/automation builder distinct from writing custom Function code, and independent/hands-on validation of event-triggered automation reliability.

      • [claimed-docs] These Functions can be triggered by HTTP requests, SDK methods, server events, webhooks, and scheduled executions.
      • [claimed-docs] Respond to server events in realtime.
    3. ai-native userSchedule recurring jobs or workflows

      weight 2 · round to Appwrite
      Convexnone0/10

      The evidence pack covers Convex's reactive database, auth, CLI, MCP server, and self-hosting, but contains no mention of cron jobs, scheduled functions, or recurring workflow scheduling capabilities, which is a plausible and often-touted Convex feature but is absent from this evidence set.

        Appwritefullclaimed6/10

        Appwrite Functions explicitly support 'scheduled executions' as a trigger type alongside HTTP, SDK, and webhook triggers, enabling recurring job/workflow automation directly in the platform (appwrite-docs-9). This is corroborated by the general functions/automation docs and CLI's ability to deploy functions programmatically (appwrite-docs-12, appwrite-docs-42), fitting an AI-native automation workflow. missing for 10: no docs detailing cron syntax or scheduling UI specifics, no mention of multi-step workflow orchestration beyond single-function triggers, and no independent/hands-on confirmation that scheduled executions work reliably in practice.

        • [claimed-docs] These Functions can be triggered by HTTP requests, SDK methods, server events, webhooks, and scheduled executions.
        • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions, and other …
        • [claimed-docs] The Appwrite CLI can be used in a non-interactive and headless manner, without saving configuration or sessions. This is especially useful w…
      • ai-native userVersion, review, and roll back my automations

        weight 1 · round drawn
        Convexnone0/10

        Convex's docs describe deployments, CLI commands (deploy, logs, insights), and self-hosting, but there is no evidence of any built-in versioning, review, or rollback mechanism for functions/automations — deployments appear to be driven by git-based code pushes with no rollback tooling mentioned. missing for 10: deployment version history, rollback command, and any review/approval workflow for changes.

        • [claimed-docs] Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment
        • [claimed-docs] Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment and the generated…
        • [claimed-docs] npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
        • [claimed-docs] `npx convex insights` — Show health insights for your deployment
        • [claimed-docs] `npx convex logs` — Watch logs from your deployment
        Appwritenone0/10

        No evidence of any version history, review workflow, or rollback mechanism for automations/functions in Appwrite. The CLI supports deploying/managing functions and configs, but there's no documented versioning, diffing, review process, or rollback capability for automations. missing for 10: version history for functions/automations, review/approval workflow, rollback/revert mechanism, audit trail of automation changes.

        Database realtime — database and realtime features — queries, subscriptions, live syncDatabase realtime

        Database and realtime features — queries, subscriptions, live sync

        Database

        1. developerConnect to the underlying database with standard clients and ORMs via a connection string

          weight 2 · round to Appwrite
          Convexnone0/10

          Convex is a TypeScript-native document database with its own query functions and explicitly states 'no need to write any SQL' (convex-docs-2), and self-hosting docs only mention using external stores like Postgres/Neon as backing infra, not exposing Convex data via standard connection strings or ORMs. No evidence of ODBC/JDBC/SQL client or ORM connection-string support is present anywhere in the pack.

          • [claimed-docs] There is nothing to set up and no need to write any SQL. Just use JavaScript to express your app's needs.
          • [claimed-docs] you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, and contains the same fully up-to-date …
          • [github] Self-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.
          Appwritepartialclaimed4/10

          Appwrite documents a 'dedicated, native PostgreSQL database you connect to directly' as an option distinct from its managed API-based database, implying some direct-connection capability, but there is no explicit documentation of a connection string, standard driver, or ORM (e.g., Prisma, TypeORM) compatibility — the primary interface described elsewhere is via SDKs/REST APIs. Missing for 10: explicit connection-string format, confirmation of standard Postgres client/ORM compatibility, and independent corroboration of this direct-connect feature.

          • [claimed-docs] A dedicated, native PostgreSQL database you connect to directly.
          • [claimed-docs] Choose the database that fits your use case, from managed APIs with permissions and realtime to dedicated native engines you connect to dire…
          • [claimed-docs] An Appwrite database runs either on a shared pool that Appwrite manages for you, or on compute provisioned for your project alone.
        2. developerProvision a managed database and read/write it from client and server SDKs

          weight 3 · round to Convex

          Convex is a managed reactive database with no-setup provisioning (npm create convex@latest), automatic table creation, and client/server SDKs across React, Next.js, Remix, Vue, Svelte, React Native etc., plus HTTP endpoints for server-side access; ACID transactions and real-time sync are documented, and community/HN commentary corroborates the reactivity model internals. missing for 10: no independent hands-on benchmark of read/write latency or large-scale production usage report beyond docs and one HN thread.

          • [claimed-docs] Convex is the open source, reactive database where queries are TypeScript code running right in the database.
          • [claimed-docs] There is nothing to set up and no need to write any SQL. Just use JavaScript to express your app's needs.
          • [claimed-docs] Your Convex deployment contains tables that hold your app's data. Initially, your deployment contains no tables or documents. Each table spr…
          • [claimed-docs] Real-time sync so your users instantly see the latest data
          • [claimed-docs] ACID transactions so concurrent writes never corrupt your data
          • [claimed-docs] These HTTP endpoints allow you to call Convex functions and get the result as a value.
          • [claimed-docs] Using your favorite frameworks: * React * Next.js * Remix * TanStack Start * React Native * Vue * Nuxt * Svelte
          • [claimed-docs] Start a new Convex project![...]`npm create convex@latest`
          • [community] Convex explains reactivity model: 'there is no polling going on here - the query only reruns when the data dependencies change server-side d…
          • [community] Convex co-founder (sujayakar) explains internals: 'we entirely re-run the javascript function whenever we detect any of its inputs change...…
          Appwritefullclaimed8/10

          Appwrite's Databases docs describe managed (shared-pool or dedicated) databases with permissions and realtime access (appwrite-docs-23, appwrite-docs-36), structured relational data with typed columns and indexes (appwrite-docs-6), and even a dedicated native Postgres option (appwrite-docs-8). The CLI can generate type-safe SDKs tied to your database schema for both client and server use (appwrite-docs-41), and Appwrite's core SDK model (client/server) is implied throughout its docs ecosystem. Missing for 10: an explicit code sample showing client vs server SDK read/write calls, and independent hands-on verification of database read/write reliability beyond vendor docs.

          • [claimed-docs] Structured, relational data with typed columns, rows, relationships, and indexes.
          • [claimed-docs] A dedicated, native PostgreSQL database you connect to directly.
          • [claimed-docs] Choose the database that fits your use case, from managed APIs with permissions and realtime to dedicated native engines you connect to dire…
          • [claimed-docs] An Appwrite database runs either on a shared pool that Appwrite manages for you, or on compute provisioned for your project alone.
          • [claimed-docs] The generate command creates a type-safe SDK tailored to your project. It detects your project's language and generates typed helpers based …
        3. developerExpress relational queries with joins, constraints, and transactions

          weight 2 · round to Convex

          Convex explicitly forgoes SQL and relational joins ('no need to write any SQL'), instead letting developers express multi-read/compute logic in TypeScript query functions (convex-comm-2) and enforcing ACID transactions (convex-docs-12) and optional schema shape validation (convex-docs-3). There is no documented declarative join operator or relational constraint system (foreign keys, uniqueness enforcement) — joins/constraints must be hand-coded in application logic rather than expressed as first-class relational queries. missing for 10: native join syntax/operator, declarative relational constraints (foreign keys/uniqueness), independent verification of complex multi-table query patterns.

          • [claimed-docs] There is nothing to set up and no need to write any SQL. Just use JavaScript to express your app's needs.
          • [claimed-docs] Though optional, schemas ensure that your data looks exactly how you want.
          • [claimed-docs] ACID transactions so concurrent writes never corrupt your data
          • [community] Convex explains reactivity model: 'there is no polling going on here - the query only reruns when the data dependencies change server-side d…
          • [community] Convex co-founder (sujayakar) explains internals: 'we entirely re-run the javascript function whenever we detect any of its inputs change...…
          Appwritepartialclaimed2/10

          Appwrite's docs mention 'relationships' between typed columns/rows (appwrite-docs-6), implying some relational modeling, but there is no evidence of an actual join query syntax, constraint enforcement (e.g., foreign key/unique constraints), or multi-statement transactions. The dedicated PostgreSQL option (appwrite-docs-8) is a separate native database connection, not Appwrite's own query API, so it doesn't substantiate this capability either. missing for 10: explicit join query syntax/examples, constraint definitions (unique/foreign key), transactional guarantees or ACID transaction support, independent verification of any of these.

          • [claimed-docs] Structured, relational data with typed columns, rows, relationships, and indexes.
          • [claimed-docs] A dedicated, native PostgreSQL database you connect to directly.
          • [claimed-docs] Choose the database that fits your use case, from managed APIs with permissions and realtime to dedicated native engines you connect to dire…

        Realtime

        1. developerBuild offline-capable clients whose local writes sync automatically on reconnect

          weight 2 · round drawn
          Convexnone0/10

          Convex's evidence pack focuses on real-time reactive sync, ACID transactions, and cloud/self-hosted deployment, but nothing describes offline support, local persistence, or conflict-resolution/sync-on-reconnect for offline writes. Convex's model is explicitly server-driven reactivity (queries re-run on server-side data changes), which is a different capability than offline-first local writes.

          • [community] Convex explains reactivity model: 'there is no polling going on here - the query only reruns when the data dependencies change server-side d…
          • [community] Convex co-founder (sujayakar) explains internals: 'we entirely re-run the javascript function whenever we detect any of its inputs change...…
          • [claimed-docs] Real-time sync so your users instantly see the latest data
          • [claimed-docs] It makes it easy to build and scale dynamic live-updating apps.
          Appwritenone0/10

          No evidence pack items mention offline support, local write queuing, conflict resolution, or sync-on-reconnect capabilities; documentation only covers realtime server events broadcast, not client-side offline persistence. Appwrite's realtime features (appwrite-docs-5, appwrite-docs-28) address live sync while connected, but nothing indicates an offline-first SDK or local cache with automatic reconciliation.

          • [claimed-docs] Track which signed-in users are active right now and broadcast online, typing, and viewing status in realtime.
          • [claimed-docs] Respond to server events in realtime.
          • [claimed-docs] Choose the database that fits your use case, from managed APIs with permissions and realtime to dedicated native engines you connect to dire…
        2. developerTrack user presence and broadcast ephemeral state between connected clients

          weight 1 · round to Appwrite

          Convex's reactive query/mutation model and real-time sync primitives (automatic re-run of queries on data change, ACID mutations) provide the underlying building blocks needed to implement presence and ephemeral broadcast patterns, but the evidence pack contains no explicit presence feature, example, or component demonstrating this use case. Missing for 10: a documented presence/broadcast component or example, guidance on ephemeral (non-persisted) state handling, and TTL/expiry mechanisms for stale presence data.

          • [claimed-docs] Real-time sync so your users instantly see the latest data
          • [claimed-docs] It makes it easy to build and scale dynamic live-updating apps.
          • [community] Convex explains reactivity model: 'there is no polling going on here - the query only reruns when the data dependencies change server-side d…
          • [community] Convex co-founder (sujayakar) explains internals: 'we entirely re-run the javascript function whenever we detect any of its inputs change...…
          • [community] Convex engineer (james_cowling) on query invalidation: 'We track the readset for any active subscription. When a new write transaction commi…
          • [claimed-docs] Convex Components are sandboxed, open-source building blocks for your app. They let you add complex functionality to your app without implem…
          Appwritefullclaimed8/10

          Appwrite's docs explicitly describe tracking online/typing/viewing presence and broadcasting realtime status between clients, backed by a general realtime event system for databases and server events. Missing for 10: independent hands-on verification of presence/typing broadcast specifically (only vendor docs cited), and no code example showing ephemeral state channels.

          • [claimed-docs] Track which signed-in users are active right now and broadcast online, typing, and viewing status in realtime.
          • [claimed-docs] Respond to server events in realtime.
          • [claimed-docs] Choose the database that fits your use case, from managed APIs with permissions and realtime to dedicated native engines you connect to dire…
        3. developerSubscribe to live data changes so my UI updates in real time without polling

          weight 3 · round to Convex

          Convex is built around reactive queries that automatically re-run and push updates to clients when underlying data changes, with first-party docs and detailed engineering explanations of the readset/writeset invalidation mechanism confirming no polling is used. Independent community corroboration from Convex engineers and outside commenters backs the reactivity model as real and functioning. Missing for 10: independent third-party benchmark or large-scale production case study explicitly measuring real-time update latency/reliability at scale.

          • [claimed-docs] Real-time sync so your users instantly see the latest data
          • [claimed-docs] It makes it easy to build and scale dynamic live-updating apps.
          • [community] Convex explains reactivity model: 'there is no polling going on here - the query only reruns when the data dependencies change server-side d…
          • [community] Convex co-founder (sujayakar) explains internals: 'we entirely re-run the javascript function whenever we detect any of its inputs change...…
          • [community] Convex engineer (james_cowling) on query invalidation: 'We track the readset for any active subscription. When a new write transaction commi…
          • [community] Outside commenter praising the design: 'I like the model of the full function becomes the point of reactivity. It's very different than Fire…
          Appwritefullclaimed6/10

          Appwrite's docs explicitly reference realtime capabilities for databases (broadcasting online/typing/viewing status, 'managed APIs with permissions and realtime', and 'respond to server events in realtime'), indicating a live-subscription mechanism for UI updates without polling. missing for 10: no first-party API/SDK code example for subscribing to database document changes, and no independent/hands-on verification of the realtime channel actually pushing updates.

          • [claimed-docs] Track which signed-in users are active right now and broadcast online, typing, and viewing status in realtime.
          • [claimed-docs] Choose the database that fits your use case, from managed APIs with permissions and realtime to dedicated native engines you connect to dire…
          • [claimed-docs] Respond to server events in realtime.

        Search

        1. developerRun full-text search over my data without wiring up an external search service

          weight 2 · round drawn
          Convexnone0/10

          The evidence pack repeatedly documents Convex's vector search for embeddings-based similarity, but contains no mention of a full-text/keyword search index feature or API for text search without external tooling. Missing for 10: any docs reference to a full-text search index, search() query API, or tokenization/ranking behavior.

          • [claimed-docs] Vector search allows you to find Convex documents similar to a provided vector... enable you to provide useful context to LLMs for AI powere…
          • [claimed-docs] Vector search allows you to find Convex documents similar to a provided vector. Typically, vectors will be embeddings which are numerical re…
          • [claimed-docs] Vector search allows you to find Convex documents similar to a provided vector... enable you to provide useful context to LLMs for AI powere…
          • [claimed-docs] Vector search allows you to find Convex documents similar to a provided vector.
          Appwritenone0/10

          The evidence pack describes Appwrite's database as supporting typed columns, relationships, and generic 'indexes' (appwrite-docs-6, appwrite-docs-23) and vector similarity search for embeddings (appwrite-docs-7), but nowhere documents a full-text search capability (e.g., fulltext index type or search query operators). Since no evidence confirms this specific capability, the axis applies but is unmet.

          • [claimed-docs] Structured, relational data with typed columns, rows, relationships, and indexes.
          • [claimed-docs] Store embeddings and run similarity search to power AI features.
          • [claimed-docs] Choose the database that fits your use case, from managed APIs with permissions and realtime to dedicated native engines you connect to dire…

        Functions — stories about functions in this arenaFunctions

        Stories about functions in this arena

        1. developerRun functions automatically in response to database or auth events

          weight 2 · round to Appwrite
          Convexnone0/10

          The evidence describes Convex's reactive query model (queries re-run when underlying data changes) and HTTP endpoints for calling functions, but there is no documentation of database/auth event triggers (e.g., 'on insert', 'on user created') that automatically invoke backend functions. Reactivity for client queries is a different mechanism than server-side function triggers implied by the story.

            Appwritefullclaimed7/10

            Appwrite's docs explicitly state that Functions can be triggered by server events (e.g., database and auth events) in addition to HTTP, SDK, webhooks, and scheduled triggers, directly matching the story of running functions automatically on database/auth events. Missing for 10: no explicit enumeration of specific database/auth event types (e.g., document.create, user.create) and no independent/hands-on confirmation of event-triggered execution.

            • [claimed-docs] These Functions can be triggered by HTTP requests, SDK methods, server events, webhooks, and scheduled executions.
            • [claimed-docs] Respond to server events in realtime.
          • developerDeploy server-side functions invoked by HTTP or SDK calls without managing servers

            weight 3 · round drawn
            Convexfullclaimed8/10

            Convex functions (queries, mutations, actions) are deployed serverlessly and can be invoked via SDK calls or exposed as public HTTP endpoints, with no server management required — the platform handles deployment, scaling, and infrastructure. Docs confirm public HTTP endpoints for calling functions and SDK-based invocation is core to the product. missing for 10: independent hands-on benchmarking of production HTTP invocation latency/scaling behavior, and more detail on action-specific server-side execution guarantees beyond docs claims.

            • [claimed-docs] The public functions that define a deployment are exposed at public HTTP endpoints.
            • [claimed-docs] These HTTP endpoints allow you to call Convex functions and get the result as a value.
            • [claimed-docs] npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
            • [claimed-docs] you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, and contains the same fully up-to-date …
            • [claimed-docs] If you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, a…
            Appwritefullclaimed8/10

            Appwrite Functions are explicitly documented as serverless compute triggered by HTTP requests, SDK methods, server events, webhooks, and scheduled executions, and the CLI supports creating/deploying these functions, matching the story directly. Missing for 10: independent hands-on verification of function deployment/runtime behavior, and more detail on scaling/cold-start characteristics.

            • [claimed-docs] These Functions can be triggered by HTTP requests, SDK methods, server events, webhooks, and scheduled executions.
            • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions, and other …
            • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions, and other …

          Local dev — stories about local dev in this arenaLocal dev

          Stories about local dev in this arena

          Ai provisioning

          1. ai-native userHave an agent stand up a new backend — schema, auth, and policies — headlessly from the CLI in a script

            weight 3 · round to Appwrite
            Convexpartialprobed5/10

            Convex's CLI (`npx convex dev/run/import/deploy`) and code-first schema/auth model mean an agent could script much of a backend setup, and the MCP server lets agents interact with a deployment programmatically. However, there is no documented example of a fully headless script that provisions auth (Clerk/WorkOS typically require external dashboard setup) and authorization policies end-to-end without manual/interactive steps. Missing for 10: a documented headless script or MCP flow that configures auth providers and authorization policies (not just schema/functions) without human interaction, and evidence this is done end-to-end in practice.

            • [claimed-docs] Clerk has great Next.js and React Native support
            • [claimed-docs] you can implement auth directly in Convex with the Convex Auth library... helps you build a custom sign-up/sign-in flow via social identity …
            • [claimed-docs] Clerk has great Next.js and React Native support ... WorkOS AuthKit is built for B2B apps ... Auth0 is more established with more bells and …
            • [claimed-docs] Convex doesn't need an opinionated authorization framework like RLS, which is required in client oriented databases like Firebase or Supabas…
            • [claimed-docs] which is required in client oriented databases like Firebase or Supabase. This flexibility lets you build and use an authorization framework…
            • [claimed-docs] Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment and the generated…
            • [claimed-docs] npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
            • [claimed-docs] Start a new Convex project![...]`npm create convex@latest`
            • [claimed-docs] The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
            • [probe] official MCP server documented at https://docs.convex.dev/ai/convex-mcp-server
            Appwritefullprobed8/10

            Appwrite's CLI explicitly supports non-interactive/headless scripted usage (appwrite-docs-42), can create/manage projects, resources, users, functions, deployments (appwrite-docs-12/18/32), and databases/auth/policies are all provisionable via the CLI/API per the docs; this is exactly the kind of scriptable backend-standup an agent could drive headlessly. missing for 10: no end-to-end hands-on example/transcript of an agent actually scripting full schema+auth+policy setup in one script, and no independent/community verification of headless CLI workflows.

            • [claimed-docs] The Appwrite CLI can be used in a non-interactive and headless manner, without saving configuration or sessions. This is especially useful w…
            • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions, and other …
            • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions
            • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions, and other …
            • [claimed-docs] Structured, relational data with typed columns, rows, relationships, and indexes.
            • [claimed-docs] Appwrite offers a Model Context Protocol (MCP) server that allows LLMs to directly interact with Appwrite's API and docs.
            • [claimed-docs] you can use applications such as Claude Code, Codex, Cursor, Claude Desktop, and others to operate on your Appwrite project as well as gain …
            • [probe] official CLI documented at https://appwrite.io/docs/tooling/command-line/installation

          Local

          1. developerRun the whole backend stack locally with an emulator or CLI before deploying

            weight 3 · round to Appwrite
            Convexpartialclaimed5/10

            Convex's standard CLI workflow (`npx convex dev`) watches your filesystem and pushes changes, but pushes to a cloud-hosted 'dev deployment' rather than a fully local emulator (convex-docs-6, convex-docs-17). Separately, Convex offers self-hosting where you 'run the Convex backend on your own servers' with 'the same fully up-to-date code the cloud service uses,' which could be used to run the whole stack locally before deploying to production (convex-docs-8, convex-docs-19, convex-gh-1), but the docs frame this as an alternative deployment target rather than an explicit local pre-deploy emulator/test loop. Missing for 10: explicit documentation of a local emulator mode built into the standard dev CLI workflow, and hands-on/community confirmation that self-hosted mode is commonly used as a local pre-deploy sandbox.

            • [claimed-docs] Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment
            • [claimed-docs] Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment and the generated…
            • [claimed-docs] you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, and contains the same fully up-to-date …
            • [claimed-docs] If you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend...
            • [github] Self-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.
            Appwritepartialprobed6/10

            Appwrite is designed for self-hosting via Docker CLI and one-click marketplace installs, and the Appwrite CLI can manage projects, resources, and functions, including non-interactively — supporting local backend development before deploying to cloud. However, there is no explicit emulator/local-stack CLI command (like 'appwrite emulators start') mirroring the full backend for offline testing, and no direct evidence of a documented local dev workflow tying CLI + self-hosted Docker together as a single 'local emulator' story. missing for 10: dedicated local-emulator tooling or docs explicitly describing running the full stack locally via CLI for pre-deploy testing, independent hands-on confirmation of this workflow.

            • [claimed-docs] Appwrite was designed from the ground up with self-hosting in mind. You can install and run Appwrite on any operating system that can run a …
            • [claimed-docs] You can install and run Appwrite on any operating system that can run a Docker CLI.
            • [claimed-docs] Recommended: Use these pre-configured marketplace apps for instant setup:
            • [claimed-docs] You can install and run Appwrite on any operating system that can run a Docker CLI
            • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions, and other …
            • [claimed-docs] The Appwrite CLI can be used in a non-interactive and headless manner, without saving configuration or sessions. This is especially useful w…
            • [probe] official CLI documented at https://appwrite.io/docs/tooling/command-line/installation

          Openness — open source, data portability, and self-hosting storiesOpenness

          Open source, data portability, and self-hosting stories

          1. ai-native userDo everything through the API that I can do in the UI

            weight 2 · round to Appwrite
            Convexpartialprobed5/10

            Convex exposes deployment functions via HTTP API and offers a CLI (run, import, logs, insights) plus an MCP server for AI agents to interact with deployments, showing broad but not total API/CLI parity with the dashboard UI. There's no explicit documentation claiming full UI/API parity, and probes found no OpenAPI spec, suggesting some dashboard-only features (e.g., visual data browsing, deployment settings) may lack a documented API equivalent. missing for 10: explicit parity statement, full OpenAPI/reference coverage, evidence that all dashboard actions (schema editing, table browsing, settings) are scriptable via API/CLI.

            • [claimed-docs] The public functions that define a deployment are exposed at public HTTP endpoints.
            • [claimed-docs] These HTTP endpoints allow you to call Convex functions and get the result as a value.
            • [claimed-docs] npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
            • [claimed-docs] `npx convex import` — Import data from a file to your deployment
            • [claimed-docs] `npx convex insights` — Show health insights for your deployment
            • [claimed-docs] `npx convex logs` — Watch logs from your deployment
            • [claimed-docs] The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
            • [probe] PROBE openapi: all candidate paths 404 (https://docs.convex.dev/openapi.json, https://docs.convex.dev/swagger.json, https://docs.convex.dev/…
            • [probe] official CLI documented at https://docs.convex.dev/cli/overview
            Appwritepartialprobed6/10

            Appwrite's docs confirm the CLI/API can create and manage projects, resources (rows, files, users), and deploy Functions—core operations that mirror UI actions—and the platform is explicitly API/SDK-first with MCP and CLI tooling for automation (appwrite-docs-12, appwrite-docs-18, appwrite-docs-32, appwrite-probe-4, appwrite-probe-5). However, there's no explicit vendor statement or independent verification of full UI-API parity, and the OpenAPI spec probe returned 404s, leaving some doubt about complete coverage of every UI action. Missing for 10: an explicit API-completeness statement, a working public OpenAPI/spec reference, and independent confirmation that all UI-only settings (e.g., billing, org management) are also API-accessible.

            • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions, and other …
            • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions
            • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions, and other …
            • [probe] official MCP server documented at https://appwrite.io/docs/tooling/ai/mcp-servers
            • [probe] official CLI documented at https://appwrite.io/docs/tooling/command-line/installation
            • [probe] PROBE openapi: all candidate paths 404 (https://appwrite.io/openapi.json, https://appwrite.io/swagger.json, https://appwrite.io/api/openapi.…
          2. ai-native userExport all of my data in open formats and leave

            weight 3 · round to Appwrite
            Convexpartialclaimed5/10

            Convex documents open-source self-hosting (same backend as cloud) and an `npx convex import` CLI command, suggesting data portability and no vendor lock-in, but the evidence pack never documents an explicit data-export command or open export format (e.g., JSON/CSV dump) for leaving the platform. missing for 10: documented export command/tool, explicit open-format export (JSON/CSV), independent confirmation of a full data-export workflow.

            • [claimed-docs] you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, and contains the same fully up-to-date …
            • [claimed-docs] If you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend...
            • [claimed-docs] `npx convex import` — Import data from a file to your deployment
            • [github] Self-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.
            Appwritepartialclaimed6/10

            Appwrite documents self-hosting with 'full control over data location' and one-click migrations between Appwrite Cloud and self-hosted (and from Firebase/Supabase/NHost), plus a CLI that manages/exports resources (rows, files, users) into JSON files, all supporting data portability and open formats. However, there is no single documented 'export all my data' feature or explicit open-format export guarantee spanning all resource types. Missing for 10: an explicit full-data export/backup command or documented complete data-portability workflow, and independent verification that migrations/export are lossless and comprehensive.

            • [claimed-docs] One-Click migrations lets you migrate from Firebase, Supabase, and NHost. You can also migrate between Appwrite Cloud and self-hosted.
            • [claimed-docs] Appwrite was designed from the ground up with self-hosting in mind. You can install and run Appwrite on any operating system that can run a …
            • [claimed-docs] You can install and run Appwrite on any operating system that can run a Docker CLI.
            • [claimed-docs] Full control over data location
            • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions, and other …
            • [claimed-docs] you can split top-level resource arrays into separate JSON files with the `includes` field.
            • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions
          3. ai-native userRead the product's source under an open license

            weight 2 · round to Convex
            Convexfullclaimed8/10

            Convex explicitly documents itself as open source, with a public GitHub repo (get-convex/convex-backend) for the self-hosted backend containing 'the same fully up-to-date code the cloud service uses,' and Convex Components are described as open-source building blocks — giving AI-native users direct access to readable source under an open license. missing for 10: explicit statement of the specific open-source license terms and independent confirmation of license permissiveness.

            • [claimed-docs] you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, and contains the same fully up-to-date …
            • [claimed-docs] If you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend...
            • [claimed-docs] If you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, a…
            • [github] Self-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.
            • [claimed-docs] Convex Components are sandboxed, open-source building blocks for your app. They let you add complex functionality to your app without implem…
            Appwritefullprobed7/10

            Appwrite's own docs and llms.txt describe it as an 'open-source backend platform' and the project is hosted publicly on GitHub (appwrite-gh-1), with extensive self-hosting documentation confirming the source is available for anyone to run and inspect (appwrite-docs-14, appwrite-docs-19, appwrite-probe-1). This satisfies the core story that an AI-native user can read the source under an open license. Missing for 10: explicit citation of the specific license name (e.g. BSD-3-Clause) or a link to a LICENSE file, and independent confirmation of license terms beyond self-hosting claims.

            • [github] Integrated hosting platform to deploy and scale web applications with support for custom domains, SSR, and seamless backend integration. Git…
            • [claimed-docs] Appwrite was designed from the ground up with self-hosting in mind. You can install and run Appwrite on any operating system that can run a …
            • [claimed-docs] You can install and run Appwrite on any operating system that can run a Docker CLI.
            • [probe] PROBE llms.txt: HTTP 200 at https://appwrite.io/llms.txt # Appwrite > Appwrite is an open-source backend platform with authentication, data…
          4. ai-native userSelf-host the core product

            weight 3 · round to Appwrite
            Convexfullclaimed8/10

            Convex explicitly supports self-hosting the open-source backend on your own servers, with documentation confirming it runs the same code as the cloud service and integrates with common infra (Neon, Fly.io, Postgres, RDS, Sqlite, etc.). Missing for 10: independent hands-on reports of self-hosting at scale in production and more detail on feature parity/limitations versus the cloud offering.

            • [claimed-docs] you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, and contains the same fully up-to-date …
            • [claimed-docs] If you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend...
            • [claimed-docs] If you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, a…
            • [claimed-docs] If you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend
            • [github] Self-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.
            Appwritefullcommunity9/10

            Appwrite documents itself as designed from the ground up for self-hosting via Docker, with one-click marketplace deployments, full control over data location, and explicit self-hosted CLI/endpoint support; community evidence corroborates a strong self-hosting experience. missing for 10: independent hands-on verification of feature parity between cloud and self-hosted beyond docs/community anecdotes.

            • [claimed-docs] Appwrite was designed from the ground up with self-hosting in mind. You can install and run Appwrite on any operating system that can run a …
            • [claimed-docs] Use a one-click deployment - Choose from marketplace installations for instant setup
            • [claimed-docs] You can install and run Appwrite on any operating system that can run a Docker CLI.
            • [claimed-docs] Full control over data location
            • [claimed-docs] Recommended: Use these pre-configured marketplace apps for instant setup:
            • [claimed-docs] You want to manage your own infrastructure
            • [claimed-docs] Add the --endpoint flag if you're using a self-hosted instance of Appwrite.
            • [community] Thank you so much for Appwrite! The community on Discord is very helpful and the self hosting guide is great. Very unlike my terrible experi…

          Privacy posture — data-handling and privacy storiesPrivacy posture

          Data-handling and privacy stories

          1. ai-native userChoose where my data is stored (region/residency)

            weight 2 · round to Appwrite
            Convexnone0/10

            No evidence of region/data-residency selection controls in Convex's cloud offering; self-hosting is mentioned but that requires managing your own infrastructure rather than choosing a region within Convex's service, and no docs describe region pinning or residency options. missing for 10: any documentation of region/residency selection, data locality controls, or compliance-driven region choice in the managed cloud product.

            • [claimed-docs] you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, and contains the same fully up-to-date …
            • [claimed-docs] If you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend...
            • [claimed-docs] If you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, a…
            • [claimed-docs] If you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend
            • [github] Self-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.
            • [claimed-docs] Log streaming * Exception reporting * HIPAA/SOC 2 reports * Daily backups * Custom domains
            Appwritepartialclaimed6/10

            Appwrite's self-hosting docs explicitly state 'full control over data location' and that it can be installed on any Docker-capable infrastructure, letting AI-native users choose where their data resides by hosting themselves (appwrite-docs-24, appwrite-docs-14/19/33). However, there is no evidence of a managed-cloud region-selection feature (e.g., picking an AWS/GCP region in Appwrite Cloud) for users who don't want to self-host. Missing for 10: cloud region/residency selector, explicit list of supported regions for hosted Appwrite, and independent confirmation of data-residency guarantees.

            • [claimed-docs] Full control over data location
            • [claimed-docs] Appwrite was designed from the ground up with self-hosting in mind. You can install and run Appwrite on any operating system that can run a …
            • [claimed-docs] You can install and run Appwrite on any operating system that can run a Docker CLI.
            • [claimed-docs] You can install and run Appwrite on any operating system that can run a Docker CLI
            • [claimed-docs] You want to manage your own infrastructure
          2. ai-native userControl data retention and deletion

            weight 2 · round drawn
            Convexpartialclaimed4/10

            Convex offers self-hosting (full control over your own data infrastructure) and lists HIPAA/SOC 2 reports plus daily backups as enterprise features, which implies some data governance controls, but there is no explicit documentation of user-facing data retention policies, deletion APIs, or right-to-erasure workflows. missing for 10: explicit data deletion/retention API or policy docs, GDPR/right-to-erasure support, retention configuration options.

            • [claimed-docs] you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, and contains the same fully up-to-date …
            • [claimed-docs] If you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend...
            • [claimed-docs] If you're excited about self-hosting, you can run the Convex backend on your own servers. Self-hosted Convex runs the open-source backend, a…
            • [claimed-docs] Log streaming * Exception reporting * HIPAA/SOC 2 reports * Daily backups * Custom domains
            Appwritepartialclaimed4/10

            Appwrite exposes basic delete APIs for files (appwrite-docs-10) and CLI-driven resource management (users, rows, files) (appwrite-docs-12/18/32), and self-hosting gives 'full control over data location' (appwrite-docs-24), which together let an operator remove or relocate data. However there is no documented retention-policy tooling (TTL/expiry rules), no explicit GDPR-style 'delete all user data' workflow, and no data-export/erasure certification beyond generic SOC-2/HIPAA/BAA mentions (appwrite-docs-20). Missing for 10: explicit retention/expiry configuration, documented right-to-erasure workflow, and independent verification of deletion completeness.

            • [claimed-docs] It provides APIs to upload, download, delete, and list files, with many added utilities.
            • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions, and other …
            • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions
            • [claimed-docs] Full control over data location
            • [claimed-docs] SOC-2, HIPAA, and BAA
          3. ai-native userOpt out of telemetry and usage tracking

            weight 2 · round drawn
            Convexnone0/10

            No evidence pack item discusses telemetry, usage analytics, or an opt-out mechanism in Convex CLI/backend/docs; self-hosting is offered but that's a deployment choice, not a documented telemetry toggle.

              Appwritenone0/10

              No evidence in the pack addresses telemetry opt-out or usage tracking controls for Appwrite; while self-hosting (full data control) is documented, there's no explicit statement about disabling telemetry/analytics collection.

              Schema migrations — stories about schema migrations in this arenaSchema migrations

              Stories about schema migrations in this arena

              Ai migrations

              1. ai-native userLet an agent create and test schema changes in an isolated branch or preview environment before production

                weight 3 · round to Convex
                Convexpartialclaimed5/10

                Convex's CLI/dev deployment model (docs-6/17) automatically syncs schema changes to a separate dev deployment when developing, and the official MCP server explicitly blocks access to production deployments by default as a safety measure (docs-28), which together let an agent iterate on schema changes in an isolated, non-production environment. However, there is no explicit mention of a distinct 'branch' or 'preview environment' feature, nor documentation of testing/promotion workflow from that isolated environment into production. missing for 10: explicit preview/branch deployment feature, agent-driven promotion workflow from dev to production, independent corroboration of this workflow.

                • [claimed-docs] Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment
                • [claimed-docs] Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment and the generated…
                • [claimed-docs] By default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production …
                • [claimed-docs] The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.
                Appwritenone0/10

                No evidence of branch/preview environments for schema changes—Appwrite offers CLI, MCP server, and self-hosting, but nothing about isolated branches or preview environments for testing schema migrations before production. missing for 10: branching/preview environment feature, schema diff/staging workflow, agent-driven isolated testing capability.

                Migrations

                1. developerManage schema changes as version-controlled migrations applied via the CLI or CI

                  weight 3 · round to Appwrite
                  Convexpartialclaimed4/10

                  Convex schemas are defined in code (schema.ts) and the CLI automatically pushes schema changes to a deployment when files change (convex-docs-6/17), which gives an implicit, version-controllable schema workflow, but the evidence never describes a dedicated migrations system (versioned migration files, up/down scripts) or explicit CI/CD deployment pipeline usage. missing for 10: explicit migration versioning/history tooling, documented CI integration for applying schema changes, rollback support.

                  • [claimed-docs] Though optional, schemas ensure that your data looks exactly how you want.
                  • [claimed-docs] Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment
                  • [claimed-docs] Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment and the generated…
                  • [claimed-docs] npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.
                  Appwritepartialclaimed5/10

                  Appwrite's CLI can manage and push project resources (collections/attributes) defined in JSON config files, and supports a documented non-interactive/headless mode explicitly for CI automation, which covers schema-as-code applied via CLI/CI. However, there's no evidence of a dedicated migrations framework with versioned history, diffing, or rollback semantics — only generic 'push resources' and 'one-click migrate from other platforms' (data migration, not schema versioning). Missing for 10: explicit migration/version-history commands, rollback support, and independent confirmation of CI-based schema migration workflows in practice.

                  • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions, and other …
                  • [claimed-docs] you can split top-level resource arrays into separate JSON files with the `includes` field.
                  • [claimed-docs] This includes creating and managing projects, managing resources (rows, files, users), creating and deploying Appwrite Functions
                  • [claimed-docs] The Appwrite CLI can be used in a non-interactive and headless manner, without saving configuration or sessions. This is especially useful w…
                  • [claimed-docs] One-Click migrations lets you migrate from Firebase, Supabase, and NHost. You can also migrate between Appwrite Cloud and self-hosted.
                  • [claimed-docs] Add the --endpoint flag if you're using a self-hosted instance of Appwrite.

                Type safety

                1. developerGenerate typed client code (e.g. TypeScript types) from my schema automatically

                  weight 2 · round to Convex
                  Convexfullclaimed8/10

                  Convex's CLI dev process watches schema/function changes and automatically updates generated TypeScript types in convex/_generated, giving end-to-end type safety from schema to client code without manual codegen commands. This is well documented in official docs and reinforced by the 'end-to-end type safety' marketing claim. Missing for 10: independent/hands-on developer confirmation of the generated types workflow beyond first-party docs.

                  • [claimed-docs] Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment and the generated…
                  • [claimed-docs] Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment
                  • [claimed-docs] End-to-end type safety so agent hallucinations are caught before they ship
                  Appwritefullclaimed7/10

                  Appwrite's CLI has a documented `generate` command that detects the project's language and generates a type-safe SDK with typed helpers based on the database schema, directly matching the story of generating typed client code from schema. Missing for 10: no independent/hands-on corroboration of the generate command's output quality, and no detail on which languages/types are supported beyond TypeScript.

                  • [claimed-docs] The generate command creates a type-safe SDK tailored to your project. It detects your project's language and generates typed helpers based …

                Security rules — stories about security rules in this arenaSecurity rules

                Stories about security rules in this arena

                Access control

                1. developerRestrict data access per user with row-level security policies or security rules

                  weight 3 · round to Convex
                  Convexpartialclaimed4/10

                  Convex explicitly rejects an RLS-style authorization framework, instead relying on developers to write access checks manually inside each query/mutation function ('Convex doesn't need an opinionated authorization framework like RLS... This flexibility lets you build and use an authorization framework for your needs'). This means per-user data restriction is possible but must be hand-coded per function rather than declared as reusable security rules/policies, unlike a dedicated RLS feature. missing for 10: no built-in declarative row-level security policy syntax, no documentation of a reusable rules layer, no independent/hands-on evidence of implementing or testing such access control.

                  • [claimed-docs] Convex doesn't need an opinionated authorization framework like RLS, which is required in client oriented databases like Firebase or Supabas…
                  • [claimed-docs] which is required in client oriented databases like Firebase or Supabase. This flexibility lets you build and use an authorization framework…
                  Appwritepartialclaimed3/10

                  Appwrite docs mention databases with 'permissions' as part of managed APIs, implying per-resource access control, but the evidence pack lacks detail on document/row-level permission rules, role-based read/write scoping, or policy syntax. Missing for 10: explicit documentation of row/document-level permission model, examples of user/team/role-based access rules, and any hands-on confirmation of enforcement.

                  • [claimed-docs] Choose the database that fits your use case, from managed APIs with permissions and realtime to dedicated native engines you connect to dire…

                Data protection

                1. platform-engineerRely on automated backups and point-in-time recovery for my data

                  weight 2 · round to Convex
                  Convexpartialclaimed3/10

                  The pricing page lists 'Daily backups' as an included feature on paid plans, confirming some automated backup capability, but there is no mention of point-in-time recovery, backup retention windows, restore process, or how backups work for self-hosted deployments. Missing for 10: point-in-time recovery details, backup restore/testing docs, retention policy specifics, and independent verification of backup reliability.

                  • [claimed-docs] Log streaming * Exception reporting * HIPAA/SOC 2 reports * Daily backups * Custom domains
                  Appwritenone0/10

                  No evidence in the pack mentions automated backups, snapshotting, or point-in-time recovery features for Appwrite databases; the closest related material covers self-hosting, migrations between platforms, and general database product features, none of which address backup/PITR. Missing for 10: any mention of backup scheduling, retention policies, restore/point-in-time recovery tooling, or disaster-recovery documentation.

                  Storage — stories about storage in this arenaStorage

                  Stories about storage in this arena

                  Files

                  1. developerUpload and serve user files with access rules and CDN-backed delivery

                    weight 3 · round to Appwrite
                    Convexnone0/10

                    The evidence pack contains no mention of file upload, file storage APIs, access-controlled file serving, or CDN-backed delivery anywhere in the Convex docs, CLI, or community citations provided. While file storage is a plausible axis for a backend platform, nothing in this evidence pack substantiates it.

                      Appwritepartialclaimed4/10

                      Docs confirm core file storage APIs (upload, download, delete, list, plus unspecified utilities) but the evidence pack never explicitly documents per-file access/permission rules or CDN-backed delivery for storage. Missing for 10: explicit documentation of file-level permission/access rules, CDN or edge-caching delivery mechanism, and any hands-on/independent confirmation of these behaviors.

                      • [claimed-docs] It provides APIs to upload, download, delete, and list files, with many added utilities.
                    • developerServe resized or transformed images from storage without running my own image pipeline

                      weight 1 · round drawn
                      Convexnone0/10

                      No evidence in the pack mentions Convex file storage supporting image resizing/transformation or any built-in image pipeline; storage-related evidence is entirely absent. This is a fair axis for a backend/storage platform, so lack of evidence yields 'none' rather than 'na'.

                        Appwritenone0/10

                        The evidence pack only says Storage provides upload/download/delete/list APIs with vague 'added utilities' (appwrite-docs-10), but nowhere documents an image resize/transform/preview endpoint that would let a developer serve transformed images without a custom pipeline.

                        • [claimed-docs] It provides APIs to upload, download, delete, and list files, with many added utilities.

                      Not comparable on these axes

                      1. ai-native userPrevent my data from being used to train AI models

                        weight 3 · not comparable
                        Convexn/a

                        Convex is a backend database/platform; it has no AI model training on user data to opt out of, and no evidence pack item addresses AI-training data usage or opt-out policy. This is a category error for a database product — the story would apply to AI model vendors, not to a data infrastructure tool.

                          Appwritenone0/10

                          No evidence in the pack addresses AI-training data usage policies, opt-out mechanisms, or any explicit privacy commitment regarding model training; self-hosting gives data control but that's not the same as an explicit no-AI-training policy. As a backend platform, this axis is plausible (buyers could ask whether their hosted data is used for AI training), so absence of evidence yields 'none'.