Method
How scores work
Each job lists six tools. The order is a composite of public metrics, not an edit. Every stored number has a source URL and an as-of date. If a figure cannot be checked on a public page, the cell says not available. We do not estimate it, and we do not treat the blank as a zero inside the evidence score.
Formula
- Normalize each sourced metric to a 0–100 score with the fixed scale below.
- Evidence is the weighted average of the metrics that have a value. Weights are renormalized over those metrics only.
- Coverage is the share of the category's weight that has a value.
- Composite = evidence × coverage.
- Sort tools that cover at least half the category weight by composite, then evidence, then slug from A to Z. A tie says so on the page.
- If coverage is under 50%, the row says Insufficient data. It has no numeric rank and cannot sit in the top 3.
A tool with one strong sourced metric cannot outrank a tool with broad evidence, because the missing weight lowers coverage. The breakdown table shows which cells were blank.
What a benchmark is attached to
Leaderboards score models, not apps. A cell names the model string on that board. We do not copy a score from one model onto another. If the flagship model is absent from a board, that metric stays blank even when an older model from the same lab has a score.
Coding is the strict case. Cursor, GitHub Copilot, Claude Code, and Codex are products. They are not ranked by the Elo or SWE-bench score of a model you can select inside them. Coding uses price, a free tier, the product's own App Store rating and review count, and one benchmark: SWE-bench Verified only when the Vals board names that product's harness. The Cursor row there is Composer 2.5 on the Cursor CLI harness, updated September 1, 2026. Vals says it stopped running that benchmark for newer releases. A model's Mini-SWE-agent score stays on the model's tool record and is not a Coding input.
WebDev Arena ranks models, not design or coding apps, so those scores are not attached to Cursor, v0, or Lovable.
Scales
- SWE-bench Verified. Share of the 500-task SWE-bench Verified set resolved. Values come from the Vals AI board. The harness is stored on the row because not every row uses the same one.
- Text Arena Elo. Blind human-preference Elo on Arena's Text Arena. Normalized on a fixed window from 1000 to 1600.
- AA Intelligence Index. Artificial Analysis Intelligence Index. The board we read topped out at 58. The scale cap of 80 is a fixed window above that reading, not a published maximum.
- Text-to-image Arena Elo. Blind human-preference Elo on Arena's text-to-image board. Normalized on a fixed window from 900 to 1500.
- Text-to-video Arena Elo. Blind human-preference Elo on Arena's text-to-video board. Normalized on a fixed window from 1000 to 1600.
- Speech Arena Elo. Blind listening Elo on the Artificial Analysis provider-voice speech board. Normalized on a fixed window from 800 to 1400.
- Free tier. A public page says the product can be used at no charge. Yes scores 100. No scores 0. Blank means we did not verify it.
- Entry monthly price. Cheapest published monthly price of a paid individual plan, before tax. A lower price scores higher, on a fixed cap of $40. Annual discounts are not used.
- Changelog rows in 90 days. Count of dated entries on an official changelog or GitHub releases list with a date on or after 2026-07-18 and on or before 2026-10-16. Four or more scores 100. A stored zero means the list was read and had no rows in the window. A blank means the list was not fully read.
- GitHub stars. Public star count on the official GitHub repository. Scored on a log10 scale capped at 300,000. Closed products stay blank.
- App Store rating. Average rating on the product's own Apple App Store listing in the US, from the iTunes Search API, rounded to two decimal places. The scale cap is 5. A clone or a different product from the same search is not used.
- App Store reviews. Review count on that same App Store listing. Scored on a log10 scale capped at 10,000,000. The cap is a fixed window, not a published maximum.
- Product-harness SWE-bench. SWE-bench Verified only when the board names the product's own harness. A lab model's Mini-SWE-agent score is not copied onto an editor or coding agent.
Weights
coding. Free tier 26%, Entry monthly price 26%, App Store rating 16%, App Store reviews 12%, Product-harness SWE-bench 20%.
writing. Text Arena Elo 24%, AA Intelligence Index 12%, Free tier 18%, Entry monthly price 18%, App Store rating 16%, App Store reviews 12%.
images. Text-to-image Arena Elo 30%, Free tier 18%, Entry monthly price 18%, App Store rating 18%, App Store reviews 16%.
video. Text-to-video Arena Elo 34%, Free tier 18%, Entry monthly price 18%, App Store rating 16%, App Store reviews 14%.
voice. Speech Arena Elo 30%, Free tier 18%, Entry monthly price 18%, App Store rating 18%, App Store reviews 16%.
agents. GitHub stars 20%, Free tier 22%, Entry monthly price 22%, App Store rating 14%, App Store reviews 10%, Changelog rows in 90 days 12%.
research. Free tier 28%, Entry monthly price 28%, App Store rating 24%, App Store reviews 20%.
productivity. Free tier 30%, Entry monthly price 30%, App Store rating 22%, App Store reviews 18%.
design. Free tier 34%, Entry monthly price 30%, App Store rating 20%, App Store reviews 16%.
Capability checks
A capability is recorded only when a public page confirms it, with that URL and date. Checks are shown on the tool page. They are not in the composite yet, because the same check is not filled for every tool in a job. Scoring only the tools we happened to read would invent a gap for the others.
For agents
/api/tools.json is the full directory: scores, metric values, sources, and dates. Each job also has /api/categories/<slug>.json. llms.txt points at both. JSON-LD on the HTML pages repeats the composite as a PropertyValue, not as a user rating.
Left out on purpose
- Sora. OpenAI's help center says the Sora web and app experiences were discontinued on April 26, 2026, and the Sora API on September 24, 2026. Arena still lists Sora rows. They are not scored, because the product is not a current tool. Source
- Notion in Writing. Notion stays under Productivity. It was removed from Writing because no writing-benchmark row was verified for it.
What money does not do
Sponsorship can buy a labeled logo or a line in the newsletter. It cannot buy a rank or a blank filled in. There is no payment form on this site.
Facts were checked against public pages on October 16, 2026.