How Convex’s scores are calculated
The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.
verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10
PA Score31/100
Agent-ready 50.9 × 0.30 = 15.27
API quality 11.4 × 0.20 = 2.28
Openness 55.0 × 0.20 = 11.00
Built-in AI 8.0 × 0.15 = 1.20
Automation 6.0 × 0.15 = 0.90
(15.27 + 2.28 + 11.00 + 1.20 + 0.90) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 30.65 ÷ 1.00 = 30.7
Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.
Agent-ready50.9/100×0.30 of the PA blend
Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.
Point an agent at llms.txt or agent-oriented docsweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [probe] https://docs.convex.dev/llms.txt“PROBE llms.txt: HTTP 200 at https://docs.convex.dev/llms.txt # Convex Documentation > For general information about Convex, read [https://www.convex.dev/llms.txt](https://www.conve”
- [claimed-docs] https://www.convex.dev“Make your agent a Convex expert: Get Convex-ready by following https://www.convex.dev/agent-setup.md”
- [probe] https://docs.convex.dev/home.md“PROBE docs-md: HTTP 404 at https://docs.convex.dev/home.md”
Run the product headlessly / in CI for automationweight 2
2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max
- [claimed-docs] https://docs.convex.dev/cli/overview“npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.”
- [claimed-docs] https://docs.convex.dev/cli/overview“`npx convex import` — Import data from a file to your deployment”
- [claimed-docs] https://docs.convex.dev/cli/overview“`npx convex logs` — Watch logs from your deployment”
- [claimed-docs] https://docs.convex.dev/http-api/“The public functions that define a deployment are exposed at public HTTP endpoints.”
- [claimed-docs] https://docs.convex.dev/http-api/“These HTTP endpoints allow you to call Convex functions and get the result as a value.”
- [claimed-docs] https://docs.convex.dev/self-hosting“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] https://github.com/get-convex/convex-backend“Self-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.”
- [probe] https://docs.convex.dev/cli/overview“official CLI documented at https://docs.convex.dev/cli/overview”
Plug MCP servers into this product so it can use their toolsweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [claimed-docs] https://docs.convex.dev/ai/convex-mcp-server“The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.”
- [probe] https://docs.convex.dev/ai/convex-mcp-server“official MCP server documented at https://docs.convex.dev/ai/convex-mcp-server”
- [claimed-docs] https://docs.convex.dev/ai/convex-mcp-server“By default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production data.”
Connect an agent via an official MCP serverweight 3
3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max
- [claimed-docs] https://docs.convex.dev/ai/convex-mcp-server“The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.”
- [claimed-docs] https://docs.convex.dev/ai/convex-mcp-server“By default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production data.”
- [probe] https://docs.convex.dev/ai/convex-mcp-server“official MCP server documented at https://docs.convex.dev/ai/convex-mcp-server”
Use an official CLIweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [claimed-docs] https://docs.convex.dev/cli/overview“Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment”
- [claimed-docs] https://docs.convex.dev/cli/overview“Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment and the generated types in convex/_generated are updated.”
- [claimed-docs] https://docs.convex.dev/cli/overview“npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.”
- [claimed-docs] https://docs.convex.dev/cli/overview“`npx convex import` — Import data from a file to your deployment”
- [claimed-docs] https://docs.convex.dev/cli/overview“`npx convex insights` — Show health insights for your deployment”
- [claimed-docs] https://docs.convex.dev/cli/overview“`npx convex logs` — Watch logs from your deployment”
- [claimed-docs] https://www.convex.dev“Make your agent a Convex expert: Get Convex-ready by following https://www.convex.dev/agent-setup.md”
- [probe] https://docs.convex.dev/cli/overview“official CLI documented at https://docs.convex.dev/cli/overview”
Drive the product through a documented public APIweight 3
3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max
- [claimed-docs] https://docs.convex.dev/http-api/“The public functions that define a deployment are exposed at public HTTP endpoints.”
- [claimed-docs] https://docs.convex.dev/http-api/“These HTTP endpoints allow you to call Convex functions and get the result as a value.”
- [claimed-docs] https://docs.convex.dev/cli/overview“npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.”
- [claimed-docs] https://docs.convex.dev/ai/convex-mcp-server“The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.”
- [claimed-docs] https://docs.convex.dev/ai/convex-mcp-server“By default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production data.”
- [probe] https://docs.convex.dev/cli/overview“official CLI documented at https://docs.convex.dev/cli/overview”
- [probe] https://docs.convex.dev/ai/convex-mcp-server“official MCP server documented at https://docs.convex.dev/ai/convex-mcp-server”
- [probe] https://docs.convex.dev/openapi.json“PROBE openapi: all candidate paths 404 (https://docs.convex.dev/openapi.json, https://docs.convex.dev/swagger.json, https://docs.convex.dev/api/openapi.json, https://docs.convex.dev/.well-known/openapi.json)”
Issue scoped/least-privilege API credentials for an agentweight 2
2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max
- [claimed-docs] https://docs.convex.dev/ai/convex-mcp-server“By default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production data.”
- [claimed-docs] https://docs.convex.dev/ai/convex-mcp-server“The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.”
Build against official SDKsweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [claimed-docs] https://docs.convex.dev/home“Using your favorite frameworks: * React * Next.js * Remix * TanStack Start * React Native * Vue * Nuxt * Svelte”
- [claimed-docs] https://www.convex.dev“Start a new Convex project![...]`npm create convex@latest`”
- [claimed-docs] https://docs.convex.dev/cli/overview“Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment and the generated types in convex/_generated are updated.”
- [claimed-docs] https://docs.convex.dev/cli/overview“npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.”
- [claimed-docs] https://docs.convex.dev/ai/convex-mcp-server“The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.”
- [claimed-docs] https://www.convex.dev“Make your agent a Convex expert: Get Convex-ready by following https://www.convex.dev/agent-setup.md”
- [probe] https://docs.convex.dev/ai/convex-mcp-server“official MCP server documented at https://docs.convex.dev/ai/convex-mcp-server”
- [probe] https://docs.convex.dev/cli/overview“official CLI documented at https://docs.convex.dev/cli/overview”
Subscribe to events via webhooksweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://docs.convex.dev/http-api/“The public functions that define a deployment are exposed at public HTTP endpoints.”
- [claimed-docs] https://docs.convex.dev/http-api/“These HTTP endpoints allow you to call Convex functions and get the result as a value.”
Agent-ready = 106.8 ÷ 210 × 100 = 50.9
API quality11.4/100×0.20 of the PA blend
The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.
Explore an interactive API reference with runnable examplesweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://docs.convex.dev/home.md“PROBE docs-md: HTTP 404 at https://docs.convex.dev/home.md”
- [probe] https://docs.convex.dev/openapi.json“PROBE openapi: all candidate paths 404 (https://docs.convex.dev/openapi.json, https://docs.convex.dev/swagger.json, https://docs.convex.dev/api/openapi.json, https://docs.convex.dev/.well-known/openapi.json)”
- [claimed-docs] https://docs.convex.dev/http-api/“The public functions that define a deployment are exposed at public HTTP endpoints.”
- [claimed-docs] https://docs.convex.dev/http-api/“These HTTP endpoints allow you to call Convex functions and get the result as a value.”
Download a machine-readable API spec (OpenAPI or equivalent)weight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://docs.convex.dev/openapi.json“PROBE openapi: all candidate paths 404 (https://docs.convex.dev/openapi.json, https://docs.convex.dev/swagger.json, https://docs.convex.dev/api/openapi.json, https://docs.convex.dev/.well-known/openapi.json)”
- [claimed-docs] https://docs.convex.dev/http-api/“The public functions that define a deployment are exposed at public HTTP endpoints.”
- [claimed-docs] https://docs.convex.dev/http-api/“These HTTP endpoints allow you to call Convex functions and get the result as a value.”
Test against a sandbox environment without touching production dataweight 1
1 (weight) × 8 (quality) × 1.0 (full) = 8.0 of 10 max
- [claimed-docs] https://docs.convex.dev/ai/convex-mcp-server“By default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production data.”
- [claimed-docs] https://docs.convex.dev/ai/convex-mcp-server“The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.”
- [claimed-docs] https://docs.convex.dev/cli/overview“Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment”
- [claimed-docs] https://docs.convex.dev/cli/overview“npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.”
Rely on versioned APIs with a documented deprecation policyweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://docs.convex.dev/openapi.json“PROBE openapi: all candidate paths 404 (https://docs.convex.dev/openapi.json, https://docs.convex.dev/swagger.json, https://docs.convex.dev/api/openapi.json, https://docs.convex.dev/.well-known/openapi.json)”
API quality = 8.0 ÷ 70 × 100 = 11.4
Openness55.0/100×0.20 of the PA blend
Can you leave, inspect, or self-host — data export, open source, portability.
Do everything through the API that I can do in the UIweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [claimed-docs] https://docs.convex.dev/http-api/“The public functions that define a deployment are exposed at public HTTP endpoints.”
- [claimed-docs] https://docs.convex.dev/http-api/“These HTTP endpoints allow you to call Convex functions and get the result as a value.”
- [claimed-docs] https://docs.convex.dev/cli/overview“npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.”
- [claimed-docs] https://docs.convex.dev/cli/overview“`npx convex import` — Import data from a file to your deployment”
- [claimed-docs] https://docs.convex.dev/cli/overview“`npx convex insights` — Show health insights for your deployment”
- [claimed-docs] https://docs.convex.dev/cli/overview“`npx convex logs` — Watch logs from your deployment”
- [claimed-docs] https://docs.convex.dev/ai/convex-mcp-server“The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.”
- [probe] https://docs.convex.dev/openapi.json“PROBE openapi: all candidate paths 404 (https://docs.convex.dev/openapi.json, https://docs.convex.dev/swagger.json, https://docs.convex.dev/api/openapi.json, https://docs.convex.dev/.well-known/openapi.json)”
- [probe] https://docs.convex.dev/cli/overview“official CLI documented at https://docs.convex.dev/cli/overview”
Export all of my data in open formats and leaveweight 3
3 (weight) × 5 (quality) × 0.6 (partial) = 9.0 of 30 max
- [claimed-docs] https://docs.convex.dev/self-hosting“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 code the cloud service uses.”
- [claimed-docs] https://docs.convex.dev/self-hosting“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] https://docs.convex.dev/cli/overview“`npx convex import` — Import data from a file to your deployment”
- [github] https://github.com/get-convex/convex-backend“Self-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.”
Read the product's source under an open licenseweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [claimed-docs] https://docs.convex.dev/self-hosting“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 code the cloud service uses.”
- [claimed-docs] https://docs.convex.dev/self-hosting“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] https://docs.convex.dev/self-hosting“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, and contains the same fully up-to-date code the cloud service uses.”
- [github] https://github.com/get-convex/convex-backend“Self-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.”
- [claimed-docs] https://www.convex.dev“Convex Components are sandboxed, open-source building blocks for your app. They let you add complex functionality to your app without implementing everything from scratch.”
Self-host the core productweight 3
3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max
- [claimed-docs] https://docs.convex.dev/self-hosting“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 code the cloud service uses.”
- [claimed-docs] https://docs.convex.dev/self-hosting“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] https://docs.convex.dev/self-hosting“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, and contains the same fully up-to-date code the cloud service uses.”
- [claimed-docs] https://docs.convex.dev/self-hosting“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] https://github.com/get-convex/convex-backend“Self-hosted Convex works well with a variety of tools including Neon, Fly.io, Vercel, Netlify, RDS, Sqlite, Postgres, and more.”
Openness = 55.0 ÷ 100 × 100 = 55.0
Built-in AI8.0/100×0.15 of the PA blend
Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.
Get AI-generated insights and suggestions from my data inside the productweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://docs.convex.dev/cli/overview“`npx convex insights` — Show health insights for your deployment”
- [claimed-docs] https://docs.convex.dev/search/vector-search“Vector search allows you to find Convex documents similar to a provided vector... enable you to provide useful context to LLMs for AI powered applications”
- [claimed-docs] https://docs.convex.dev/ai/convex-mcp-server“The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.”
Set up automations that run autonomously in the backgroundweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Delegate tasks to a built-in AI assistant inside the productweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [claimed-docs] https://docs.convex.dev/ai/convex-mcp-server“The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.”
- [claimed-docs] https://docs.convex.dev/home“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] https://docs.convex.dev/ai/convex-mcp-server“By default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production data.”
Operate the product with natural-language commandsweight 2
2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max
- [claimed-docs] https://docs.convex.dev/ai/convex-mcp-server“The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.”
- [claimed-docs] https://www.convex.dev“Make your agent a Convex expert: Get Convex-ready by following https://www.convex.dev/agent-setup.md”
- [claimed-docs] https://docs.convex.dev/home“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] https://docs.convex.dev/ai/convex-mcp-server“By default, the MCP server cannot access production deployments. This is a safety measure to prevent accidental modifications to production data.”
- [probe] https://docs.convex.dev/ai/convex-mcp-server“official MCP server documented at https://docs.convex.dev/ai/convex-mcp-server”
Built-in AI = 7.2 ÷ 90 × 100 = 8.0
Automation6.0/100×0.15 of the PA blend
Depth of automation primitives — rules, scheduling, bulk operations, webhooks.
Perform bulk operations across many items at onceweight 2
2 (weight) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max
- [claimed-docs] https://docs.convex.dev/cli/overview“`npx convex import` — Import data from a file to your deployment”
- [claimed-docs] https://docs.convex.dev/ai/convex-mcp-server“The Convex Model Context Protocol (MCP) server provides several tools that allow AI agents to interact with your Convex deployment.”
- [claimed-docs] https://docs.convex.dev/cli/overview“npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.”
- [claimed-docs] https://docs.convex.dev/http-api/“The public functions that define a deployment are exposed at public HTTP endpoints.”
Define rules that trigger actions automatically on eventsweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [community] https://hn.algolia.com/api/v1/items/31831623“Convex explains reactivity model: 'there is no polling going on here - the query only reruns when the data dependencies change server-side due to a subsequent mutation... a query function containing multiple reads, relatively-arbitrary compute, etc.'”
- [community] https://hn.algolia.com/api/v1/items/31831623“Convex co-founder (sujayakar) explains internals: 'we entirely re-run the javascript function whenever we detect any of its inputs change... since we fully sandbox and determinize these javascript queries, the majority of the cost is in accessing the database.'”
- [community] https://hn.algolia.com/api/v1/items/31831623“Convex engineer (james_cowling) on query invalidation: 'We track the readset for any active subscription. When a new write transaction commits we compare the writeset... there are false-positives here... but this is not a significant issue in practice.'”
- [claimed-docs] https://docs.convex.dev/http-api/“The public functions that define a deployment are exposed at public HTTP endpoints.”
- [claimed-docs] https://docs.convex.dev/http-api/“These HTTP endpoints allow you to call Convex functions and get the result as a value.”
Schedule recurring jobs or workflowsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Version, review, and roll back my automationsweight 1
1 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 10 max
- [claimed-docs] https://docs.convex.dev/cli/overview“Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment”
- [claimed-docs] https://docs.convex.dev/cli/overview“Watches the local filesystem. When you change a function or the schema, the new versions are pushed to your dev deployment and the generated types in convex/_generated are updated.”
- [claimed-docs] https://docs.convex.dev/cli/overview“npx convex run <functionName> [args] — Run a public or internal Convex query, mutation, or action on your development deployment.”
- [claimed-docs] https://docs.convex.dev/cli/overview“`npx convex insights` — Show health insights for your deployment”
- [claimed-docs] https://docs.convex.dev/cli/overview“`npx convex logs` — Watch logs from your deployment”
Automation = 4.8 ÷ 80 × 100 = 6.0