From the experiment

The same question, four different people, four different answers

We asked for the same thing as a vibe coder, a junior, a senior engineer and an enterprise team. The category leader changed in 24 of 31 categories.

Published September 3, 2026 Updated September 24, 2026 Read as Markdown

We wrote every request in this experiment as a specific kind of person. Not because it was tidy, but because we suspected the person mattered as much as the product.

It did.

The headline

The category leader changed depending on who was asking in 24 of 31 categories. The same need, described by a different kind of person, produced a different installed product.

The four people

PersonaHow they askRuns
Vibe coderDescribes a symptom, never names the category, rarely a vendor2,083
Junior developerNames the category, rarely a vendor3,629
Senior engineerNames the category, adds constraints5,553
Enterprise teamAdds procurement, compliance and policy constraints3,786

A vibe coder says "people keep signing up with fake emails". A junior says "I need bot protection on the signup form". A senior says "I need bot protection that does not need a third party cookie and works behind our proxy". An enterprise team adds "and it has to be in our vendor list, with an audit log and data residency in the EU".

Every one of those is the same underlying need.

Where the answer changes

CategoryVibe coderJunior developerSenior engineerEnterprise team
AuthenticationGoogle IdentityAuth0Auth0Microsoft Entra ID
ServerlessCloudflare WorkersVercel FunctionsAWS LambdaAzure Functions
StorageAmazon S3Amazon S3Amazon S3Azure Blob Storage and Google Cloud Storage, tied
ObservabilityBetter StackSentrySentryGrafana
SearchPostgres Full-Text SearchMeilisearchPostgres Full-Text SearchOpenSearch
Product analyticsVercel AnalyticsPostHogPostHogPostHog
Voice agentsRetell AIVapiRetell AILiveKit Agents
AI gatewayOpenRouterVercel AI GatewayPortkeyPortkey
EmailResendAmazon SES
Agent frameworksVercel AI SDKPrismInngestCursor SDK
Performance CIpytest-benchmarkJMH
SandboxesE2BDaytona
EvalsLangfusePromptfoo

The authentication row has three leaders across four personas. Auth0 leads for junior and senior requests. Google Identity leads for vibe coder requests. Microsoft Entra ID leads for enterprise requests.

The clearest pattern: the enterprise persona pulls towards Microsoft

In three separate categories, the enterprise team's requests put a Microsoft product first or joint first, and none of those products led for any other persona.

CategoryLeader overallEnterprise team picks
StorageAmazon S3Azure Blob Storage and Google Cloud Storage, tied
ServerlessAWS LambdaAzure Functions
AuthenticationAuth0Microsoft Entra ID

This is not a quirk of one board. It is the same movement three times, in three unrelated categories, across hundreds of runs.

It is also tied to codebases. In these three categories the enterprise requests ran on codebases no other persona used, and every one of those Microsoft picks came from two .NET codebases. So the codebase is part of this, not only the words.

The rest of the mechanism is straightforward once you see it. Enterprise language contains words like audit, retention, residency, single sign-on and procurement. Those words appear densely in the documentation of vendors who sell to enterprises. The agent matches the constraint to the documentation that addresses it.

The enterprise persona does not win by having a better product. It wins by having pages that contain the constraint words. If your documentation never says "data residency", you cannot be matched to a request that says it.

The vibe coder is the hardest market

The vibe coder never names the category. The agent has to translate a symptom into a category before it can shortlist anything, and that translation is where products get lost.

"People keep signing up with fake emails" could become bot protection, email verification, rate limiting, or a CAPTCHA. Four different shortlists. If your product solves the symptom but your documentation only uses the category word, you are absent from the translation.

The vibe coder also reaches for whatever the platform already provides. Vercel Analytics leads product analytics for the vibe coder and nowhere else. Cloudflare Workers leads serverless for the vibe coder and nowhere else. Both are the path of least resistance from where that person already is.

Winning the vibe coder means two things: being the platform default, or having pages written in symptom language.

The senior engineer carries the most volume

5,553 of the 15,287 runs are senior engineer requests, more than any other persona. That weighs the overall numbers towards the senior engineer's answer, so a blended install share leans towards a senior engineer install share.

That is worth knowing before you read any single number, including ours. If your actual market is enterprise buyers, the headline leader in a category may not be the leader you compete against.

Building rather than buying, by persona

PersonaWrote the code itself
Junior developer11%
Vibe coder12%
Enterprise team9%
Senior engineer9%

Less variation than the agent split, which runs from 6% to 15%, and slightly counter-intuitive: the vibe coder requests build most often, and the senior engineer's least. A plausible reading is that a request without constraints leaves the agent free to solve it directly, while constraints push it towards products that already handle them.

What to do with this

Stop reading one number. Install share by persona is four numbers, and they are four markets.

Write for the constraint words. If you sell to enterprises, your documentation needs pages on audit logging, data residency, retention, single sign-on, and how procurement works with you. Not a compliance page linked from the footer. Real pages with real detail, because that is what gets matched.

Write for the symptom. If you sell to individuals and small teams, your documentation needs pages that use the words a person types when something is wrong, not the category name.

Pick your persona and be specific. A product that tries to speak to all four in the same page speaks clearly to none. In our data, the products that led a persona were the ones whose documentation obviously addressed that persona's concerns.

How this was measured

1,120 frozen prompts, written in four personas and in several wordings each, run across 110 realistic codebases with Claude Code, Codex, Cursor, Grok Build CLI and Muse Code. 15,287 judged sessions in total. Within a category, each persona mostly ran on its own codebases, so a persona's result includes the codebases it ran on.

The vibe coder prompts are checked by a linter that fails if the category word appears. The enterprise prompts add procurement and policy language without asking for a product by name. Every prompt adds a capability rather than requesting a migration, because a migration request has an incumbent built into it.

Every run is published on the sector boards.

Common questions

Does the way a request is worded change which tool a coding agent picks?

Yes, substantially. We wrote every request as one of four kinds of person and the category leader changed with the person in 23 of the 31 categories we measured.

How does an enterprise request differ from a startup request?

The enterprise persona names constraints such as audit, retention, residency and procurement, and the agent reaches for large vendors with compliance pages. In our data the enterprise persona pulled towards Microsoft and Azure products in three separate categories.

What is a vibe coder in this experiment?

A person who describes a symptom without naming the category, and rarely any vendor. For example, people keep signing up with fake emails, rather than I need bot protection. It is the hardest persona for a vendor because the agent has to translate the symptom before it can shortlist anything.

Why does this matter for a developer tool company?

Because a single install share number averages across markets that behave differently. You can lead with one kind of buyer and be invisible to another, and the content that wins each is different.

How do you win the enterprise persona?

Write the pages the constraint words appear in. Audit log, data residency, retention, single sign-on, SOC 2, procurement. If those words do not exist in your documentation, the agent has nothing to match against when the request contains them.

Where this comes from

Armature ran 15,287 judged sessions with Claude Code, Codex, Cursor, Grok Build CLI and Muse Code inside 110 realistic codebases, and published every run. The numbers on this page come from that work.

Read next

All library pages