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.
Transcript
Across many runs
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.