Compare · Methodology

How I Test and Compare AI Tools

Every comparison here says what I ran myself, what comes from documentation, and when I last checked. This page explains the rules behind those labels, so you can judge how much weight each page deserves.

I'm Aviral Kapoor. I build products with AI agents (myberuf, a German-for-work practice app, and this store), I ran a local-LLM evaluation for my Master's, and I pay for the tools I compare. As of November 2026 that means Claude Pro and ChatGPT Plus, the two $20 plans. Nobody pays for a place on these pages.

At a glance

  • "Tested" means I ran it, on the date shown, with the plan and model named on the page. Nothing else gets that label.
  • Real tasks only: a bug in a live product, a German correction, a structured extraction. Never client or employer material.
  • Sources for every product fact, from the vendor's own documentation first. Prices come from the vendor's pricing page, "as of" the day I read it.
  • Benchmarks carry their name and date. A leaderboard ranks models, or a model inside one agent, not the product you subscribe to.
  • No affiliate links and no sponsored placements. Where my own skills fit a tool, I say so and name them as mine.

The three labels

Each comparison shows one of these four under its byline:

LabelWhat it means
Tested (with a date)I ran the tasks on the page myself, with the same input in every tool, and kept the full outputs.
Partly testedSome claims come from my runs, the rest from documentation, public benchmarks or my usage records. The page says which is which.
From months of useThe page rests on my own documented use of the tools over months, plus documentation and dated benchmarks. No same-input test yet, and the page says why.
Not tested hands-onThe page is built from vendor documentation, dated benchmarks and, where it exists, my own usage. It never implies more.

A short note under the label says what the page rests on, and why something wasn't tested when that matters. On the Claude Code vs Codex page, for example, the note says that Codex's weekly limit stopped the side-by-side run.

How tasks are chosen

  • From my own work. Coding tasks come from my own repositories: this website, myberuf and Conversation Coach. Writing tasks come from my own drafts. Language tasks come from my own German, with nothing private in it.
  • Never from someone else's material. No client files, no employer documents, nothing under an NDA.
  • The same input, the same day, where I can. Each tool gets the identical prompt or files, a fresh copy of the repository, and no hints the other didn't get.
  • Recorded. For every task I keep the exact prompt, the tool and model version, the plan, the date and the complete output. Those records sit next to the page's source files, and the page shows the outputs or the parts that decide the verdict.

How outputs are judged

I prefer checks anyone could repeat over taste:

  • Code: do the project's tests pass, is the bug actually gone, did the change stay inside the task?
  • Corrections: is the corrected form right, and were correct sentences left alone?
  • Structured output: is the JSON valid, and how many fields match the reference?

Where judgment is unavoidable, such as the tone of a LinkedIn post, I write the criteria down before reading the outputs and show the outputs so you can disagree with me. There are no scores out of five on this site. If a page counts something, it shows the counts and the size of the test, so a 2-point gap on 10 items doesn't pass as a finding.

Benchmarks, and what they can't tell you

I cite public benchmarks with their name, the date I read them and a link:

  • arena.ai ranks models by the votes of people comparing two anonymous answers. Its WebDev board covers front-end coding tasks; its Text board covers general chat.
  • Terminal-Bench measures how many terminal tasks an agent completes. It's one of the few boards that names the harness, such as Claude Code or Codex, next to the model.
  • SWE-bench measures how many real GitHub issues a model can resolve inside a test harness.

What they can't tell you: whether a tool fits your work, what its plan's usage limits feel like, or how a product bundles several models. Differences inside a board's confidence interval aren't differences. And boards move every week, which is why every figure carries its date.

Prices and plans

Prices come from each vendor's own pricing page, in the currency it shows, before tax, "as of" the date on the comparison. When a vendor doesn't publish something, such as a message allowance, the page says "not published" instead of guessing. Usage limits change often; I quote the vendor's own wording and link to it.

My own usage records

Some pages draw on how I've actually used these tools: session and thread counts from Claude Code and Codex on my laptop, commit trailers in my repositories, and the handover notes my projects keep. I publish only general patterns from those records, not counts, and never the content of anyone else's work.

Re-testing and updates

I check prices and plan details monthly and re-test when a tool ships a new main model, or at least every three months. Each page shows its review date. When a re-test changes the verdict, the page says what changed and when.

Affiliate links and my own products

There are no affiliate links on this site today, and nobody pays for a placement or a verdict. If that ever changes, every such link will be labelled where it appears, the change will be explained on this page, and a commission will never move a verdict.

I do sell skills for Claude, Claude Code and Codex, and some comparisons mention them in a short section called "Whichever you pick". They're named as mine. They work in the tools being compared, so they never decide which tool wins.

Corrections

If a fact is wrong or out of date, tell me and I'll fix it and note the date. My contact details are in the legal notice.