# 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 14 of 18 categories.

Source: https://armature.tech/library/how-personas-change-the-pick
Published: 2026-09-03
Publisher: Armature, Inc. (https://armature.tech)

---

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 **14 of 18 categories**. The same need, in the same codebase, described by a different kind of person, produced a different installed product.

## The four people

| Persona | How they ask | Runs |
| --- | --- | --- |
| Vibe coder | Describes a symptom, never names the category or a vendor | 752 |
| Junior developer | Names the category, never a vendor | 1,167 |
| Senior engineer | Names the category, adds constraints | 2,486 |
| Enterprise team | Adds procurement, compliance and policy constraints | 887 |

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

| Category | Vibe coder | Junior developer | Senior engineer | Enterprise team |
| --- | --- | --- | --- | --- |
| Authentication | Google Identity | WorkOS AuthKit | Auth0 | Microsoft Entra ID |
| Serverless | Cloudflare Workers | Vercel Functions | AWS Lambda | Azure Functions |
| Storage | Amazon S3 | Amazon S3 | Amazon S3 | Azure Blob Storage |
| Observability | Better Stack | Sentry | Sentry | Grafana |
| Search | Postgres full text search | OpenSearch | Postgres full text search | OpenSearch |
| Product analytics | Vercel Analytics | PostHog | PostHog | PostHog |
| Voice agents | Vapi | Vapi | Vapi | LiveKit Agents |
| AI gateway | Vercel AI Gateway | Vercel AI Gateway | Portkey | LiteLLM |
| Email | Resend | Resend | Resend | Azure Communication Services Email |
| Agent frameworks | Vercel AI SDK | Prism | Inngest | Cursor SDK |
| Performance CI | | | pytest-benchmark | JMH |
| Bot protection | Cloudflare Turnstile | Cloudflare Turnstile | | django-axes |
| Sandboxes | | | E2B | Daytona |
| Evals | | Langfuse | Promptfoo | |

Look at the authentication row. Four personas, four different products. Nobody in that market is winning "authentication". They are each winning one kind of buyer.

## The clearest pattern: the enterprise persona pulls towards Microsoft

In four separate categories, adding procurement and compliance language to the request moved the answer to a Microsoft product that led nowhere else.

| Category | Leader overall | Enterprise team picks |
| --- | --- | --- |
| Storage | Amazon S3 | Azure Blob Storage |
| Serverless | AWS Lambda | Azure Functions |
| Authentication | WorkOS AuthKit | Microsoft Entra ID |
| Email | Resend | Azure Communication Services Email |

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

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 decides most of the volume

2,486 of the 5,292 runs are senior engineer requests. That persona drives the overall numbers in most categories, which means a blended install share is mostly 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

| Persona | Wrote the code itself |
| --- | --- |
| Junior developer | 18% |
| Vibe coder | 13% |
| Enterprise team | 12% |
| Senior engineer | 11% |

Less variation than the agent split, and slightly counter-intuitive: the junior persona builds most often. A plausible reading is that a request naming the category 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

481 frozen prompts, written in four personas and in several wordings each, run across 51 realistic codebases with Claude Code, Codex and Cursor. 5,292 judged sessions in total.

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 naming a vendor. 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](/leaderboards/sectors).

## 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 14 of the 18 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 four separate categories.

### What is a vibe coder in this experiment?

A person who describes a symptom without naming the category or 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.

## Read next

- [Do Claude Code, Codex and Cursor pick the same tools?](https://armature.tech/library/do-claude-code-and-codex-agree) (Markdown: https://armature.tech/library/do-claude-code-and-codex-agree.md)
- [When coding agents build it themselves instead of buying](https://armature.tech/library/what-coding-agents-build-in-house) (Markdown: https://armature.tech/library/what-coding-agents-build-in-house.md)
- [Agent discoverability: the complete guide](https://armature.tech/library/agent-discoverability) (Markdown: https://armature.tech/library/agent-discoverability.md)
- [How to win the enterprise persona](https://armature.tech/library/how-to-win-the-enterprise-persona) (Markdown: https://armature.tech/library/how-to-win-the-enterprise-persona.md)
- [Persona prompt](https://armature.tech/library/persona-prompt) (Markdown: https://armature.tech/library/persona-prompt.md)

---

Armature helps software products get discovered and used by coding agents.
Service: https://armature.tech/discoverability · Results: https://armature.tech/leaderboards/sectors · Contact: contact@armature.tech
