MiroFish
What a Synthetic Audience Actually Tells You
MiroFish builds a simulated audience you can question — before your message, product, or campaign ever reaches a real one.
MiroFish is a program we run in-house to build a crowd of simulated people and watch how they react. It takes raw material — real social posts, transcripts, draft policies, background documents — and generates a population of characters, each with a distinct personality, a memory that carries forward, and its own way of deciding how to act. The characters then talk to one another on a stand-in version of social media and respond to events, the way a real crowd would. We can watch the whole crowd at once or stop and question any single character one-on-one.
The foundation is an open-source simulation engine — free, public code — extended with our own working methods and our own way of turning the results into a report. It runs in five stages.
The five stages
Building the map
The program reads through the raw source material and pulls out the people, places, organizations, and ideas in it, then maps how they connect. That map becomes the shared knowledge the simulated crowd draws on.
Casting the crowd
From that map, the program creates the individual characters and sets the rules of the space they act in. A vague “audience” becomes a specific cast of named individuals, each with a clear point of view.
Running it
All the characters act at once — posting, reacting, and influencing one another. This is where the unplanned patterns appear: the crowd splits, rallies, or turns in ways no one scripted, and those surprises are usually the most valuable result.
Writing the report
A separate part of the program reads the entire record of what the crowd did and said, then writes up the finding: what idea spread, who carried it, and where it pointed.
Interviewing the crowd
After the run, any single character — or the report-writer itself — can be questioned directly, pressing one character to explain why it reacted as it did. The crowd stays available to question long after the headline finding is in.
In practice
Three anonymized engagements show the method end to end.
A global telehealth venture
A venture building a new kind of patient interface needed to know how a real range of patients would handle it before any of it reached a live person. A simulated patient group filled that gap: a reusable testing method, a bounded and named cohort, and reasoning that could be quoted patient by patient — plus a roadmap for the next layer of study, drawn out by interviewing the crowd after the run.
An independent feature documentary
Ahead of a multi-city theatrical rollout, a marketing operator needed to know which audience would show up in a theater, what converts interest into a ticket, and what share would wait for streaming. Five distinct characters answered in their own voices, each mapping to a specific kind of distribution partner — and the report named the concrete ways the campaign could fail, drawn from how those characters actually reacted.
Infrastructure for a regulated trading sector
A company that runs the payout-and-risk systems beneath much of its industry wanted to know how a public panel on trust and transparency actually landed. Eleven audience groups were each matched to real, dated public posts that said the same thing. The run surfaced a split two halves of the audience could not see from inside it — and pointed to one specific, testable move, shipped with a clear condition that would prove the finding wrong.
Further reading
What a Synthetic Audience Actually Tells You: Three Engagements With MiroFishThe full essay — the five-stage method and three anonymized engagements in health, film, and finance, told in detail.
Bring a question before it meets a real audience
If you have a message, a product, a launch, or an event to understand before it reaches real people, that is when a simulated one is worth building. Get in touch to discuss an engagement.