PERSONA CONVERSATION SIMULATOR · FICTIONAL CHARACTERS · RUNS IN YOUR BROWSER

Simulate conversations between fictional personalities

Invent a cast of two to six characters, give each a Big Five personality (or describe them in a sentence), and see their conflict style, who will clash and why. Then play out a salary negotiation, a team meeting or a housemates' argument between them, once to read the transcript or hundreds of times to see how often each outcome happens.

Fictional characters only. This is not a way to profile or clone a real person: it takes no profile links, handles or contact details, and the names it generates are invented. Use it to rehearse a hard conversation, think about team dynamics, or write characters. Everything runs in this browser and nothing is uploaded.

1. Your cast

2. How they are likely to get on

3. Run a scenario

Optional: write the lines in each character's voice with your own AI key

The rules decide who speaks, what they do and every number. This pass only rewrites the wording of each line, and any rewrite that drops or changes a number is thrown away. It sends the character cards and the transcript straight from this browser to the provider you pick. Your key stays in this browser and is never sent to us. A model on your own computer (Ollama, LM Studio, llama.cpp) needs no key.

Pick a scenario and press play.

What you use today, and what this does differently

Personality tests describe one person and stop there. Chatbot role-play gives you a fluent conversation, but a different one every time and with no way to see why a character gave way. This tool keeps the rules in the open: trait scores set the odds of each move, the same seed replays the same conversation, and running a cast hundreds of times shows how often a deal closes or a meeting falls apart. It is a way to think about how people tend to differ, not a substitute for talking to the real ones.

Run it from the command line

Zero dependencies, Node 18+. A cast file is a JSON list of invented characters: [{"name": "Ava Juniper", "role": "founder", "description": "blunt, organised, calm"}].

node cli.mjs --list
node cli.mjs --scenario salary --seed 7 --runs 500
node cli.mjs --scenario team-deadline --cast cast.json --format json

Questions people actually ask

Can I simulate a conversation between different personality types?

Yes. Give two to six invented characters Big Five scores (or describe them in a sentence), pick a scenario such as a salary negotiation or a team meeting, and the simulator plays it out turn by turn. Run it hundreds of times to see how often each outcome happens with that cast.

Can I make a digital clone of a real person from their social media?

No. This tool only builds invented characters. Profiling a real person from scraped profiles without their consent raises privacy, legal and platform-terms problems, and a confident personality read of someone who never took a test is not accurate anyway. The tool refuses profile links, handles and contact details.

How does the simulator decide what each character says?

With fixed rules you can read in sim.mjs. Each turn it picks who speaks, weighted towards extraversion and whoever was just asked, and what they do: propose, object, concede, ask, hold firm or walk away, with odds set by their trait scores and how tense the conversation is. The same seed and cast always give the same transcript.

Does it predict how real people would behave?

No. The weights are hand-set to follow broad tendencies, such as agreeable people conceding more and anxious people escalating under pressure. They are not fitted to data. Use it to rehearse and to think about a group's dynamics, not to forecast what a particular person will do.

Do I need an AI key?

No. The simulator runs entirely on rules in your browser. An optional pass on your own Anthropic, OpenAI, Gemini or local model rewrites each line in the character's voice, but it cannot change who speaks, what they do or any number.

Longer version: Big Five personality traits and conflict: who clashes, and why.