Skip to main content

Personas & Swarms

What are personas?

Personas are AI-generated user profiles that simulate real people using your product. Each persona has:
  • Name and background — a realistic identity with a backstory
  • Technical ability — ranging from tech-savvy early adopters to first-time computer users
  • Goals and expectations — what they’re trying to accomplish and what they expect from the experience
  • Behavioral traits — patience level, attention to detail, willingness to explore
When you run a test, each persona independently navigates your app, makes decisions based on their profile, and reports their experience.

Why diverse personas matter

A single tester finds a single perspective’s issues. Swarm’s value comes from diversity:
  • A power user might breeze through your signup, but a non-technical user might get stuck on your password requirements
  • A screen reader user might find your form labels are missing
  • An impatient user might abandon your checkout if it takes too many steps
By testing with multiple diverse personas simultaneously, you surface issues that would take weeks of real user feedback to discover.

Generating personas

When you run swarm test, you can generate personas on the fly:
swarm test --url localhost:3000 \
  --goal "Purchase a subscription" \
  --agents 5 \
  --audience "small business owners evaluating project management tools"
Swarm uses the audience description to generate personas that match your target users. The more specific your description, the more relevant the personas.

Swarms (saved persona sets)

A swarm is a named, reusable set of personas. Instead of generating new personas each test, you can create a swarm once and reuse it:

Creating a swarm

Create swarms from the dashboard:
  1. Go to Swarms in the sidebar
  2. Click Create Swarm
  3. Name it and describe your target audience
  4. Swarm generates the personas — review and edit as needed

Using a swarm in tests

List your swarms:
swarm list-swarms
  2 swarm(s) found:

  a1b2c3d4  Enterprise Users  (5 personas)
    IT managers and procurement leads at mid-size companies

  e5f6g7h8  Consumer Beta  (8 personas)
    Mixed demographics for consumer app testing
Run a test with a specific swarm:
swarm test --url localhost:3000 --goal "Complete onboarding" --swarm a1b2c3d4

When to use swarms vs. generated personas

ScenarioRecommendation
Quick ad-hoc testingGenerate on the fly with --agents
Regression testingUse a saved swarm for consistency
A/B comparisonSame swarm on two URLs for apples-to-apples
Specific user segmentsCreate a dedicated swarm per segment