The same product.
Three people. Three endings.
CanaryFlock sends simulated people through your real product to discover who succeeds, who struggles, and where the experience breaks. They differ in age, digital fluency, patience, and how much they trust a stranger with their card details. Pick one and watch what your product did to them.
Real sessions from one run. Nobody told the flock the password rule or what ISO-8601 means — neither was stated anywhere on the page, only enforced.
A single agent tells you whether a flow can be completed. A population tells you who completes it.
Send in the flockA dress rehearsal with an audience you can afford to lose.
You give it a URL and a job to be done — open an account and subscribe, or find a charger near you and book it. It generates a population, runs each person through your product in their own browser, and records every click, every hesitation and every reason someone quit.
Not random attributes. Age drives digital fluency; income drives price sensitivity; fluency drives patience.
One job to be done, with a plain-language definition of what counts as finished.
Each person drives a real browser, in character, one decision at a time.
Every action stored as an event: page, click, reasoning, and how they felt about it.
Places where many people independently struggled — and who was hit hardest.
Most of them never got to the end.
Each mark is a simulated person moving through the flow. They stop where they stopped. This is a single fifty-person run against a sign-up we had deliberately broken in six different ways.
The eleven who stopped at sign-up mostly could not work out a date format given only as “ISO-8601”. The twenty-two who stopped at payment had just been shown a fee nobody mentioned, and asked for a national ID number.
An average hides the person you are losing.
Real figures from one fifty-person run against a deliberately flawed sign-up. Every row is a group that behaved nothing like the average:
| Who they are | What they did | Rate |
|---|---|---|
| Cautious about sharing data | Finished sign-up | 0% vs 56% |
| Compares prices before buying | Found the cheaper plan | 100% vs 5% |
| Reads the small print | Opened the terms | 92% vs 0% |
| Patient | Got through to the end | 59% vs 6% |
The paid add-on was pre-ticked and disclosed only in the terms. The people who read terms caught it. Nobody else did.
Anything a person does in a browser.
A scenario is one sentence: what this person came to do. The flock works out the rest — where to click, what to type, when it has had enough.
-
subscription software
“Open an account and end up on the plan that suits you.”
Surfaces: password rules nobody stated, pre-ticked add-ons, the step where trial-to-paid dies.
-
online shop
“Buy a pair of running shoes for under £100, delivered this week.”
Surfaces: delivery cost revealed at the last step, address entry, guest checkout dead ends.
-
banking and fintech
“Open an account and pass identity verification.”
Surfaces: document upload on a phone, jargon in error messages, who abandons rather than share a document.
-
marketplace
“Find something available near you and book it.”
Surfaces: empty-result dead ends, map-only discovery, the approval wait nobody explained.
-
support and AI agents
“Get a refund for an order that arrived broken.”
Surfaces: what your assistant does with an angry customer, a confused one, or one who is not a native speaker.
-
before and after
“The same job, on the version you are about to ship.”
Surfaces: whether the change you made helped — and which group it helped, or quietly hurt.
The sign-up button was off the edge of the phone.
a charging slot
Twenty simulated drivers were sent through a peer-to-peer EV charging marketplace to book a charging slot. None of them managed it. On a 390-pixel phone screen the header overflowed and the Sign up button sat between 385 and 506 pixels — past the edge of the display. On a laptop it was fine, which is why nobody had noticed.
People look for a charger on their phone. The product’s entire conversion path was unreachable for them.
Simulated behaviour is not a forecast.
Synthetic people are more patient, more literate and more single-minded than real ones. We report what happened in the simulation and never dress it up as a prediction about your customers.
“31% of the simulated population abandoned at address entry, and low-fluency users were three times more likely to be among them.”
“You will lose 31% of your customers. Fixing this will raise conversion by 14%.”
This layer goes before real-user research and production analytics — not instead of them. It is the cheap pass that finds the obvious failures, so the expensive pass can look for the subtle ones.
Send the flock in first.
Real users shouldn’t be your first warning.
Point it at something you are about to ship.
We are taking on a small number of products to run against, at no charge, while we calibrate. Send a URL and the job you want people to do — you get the findings and the session recordings back.
hello@canaryflock.com