Free & open source · Runs 100% on your machine
The simulator for conversations. Practice interviews, negotiations, language, and difficult conversations
with AI characters whose reactions evolve as you speak — all running
locally on your computer. No account. No cloud. No telemetry.
Windows · macOS · Linux · Steam Deck — or build the Apache-2.0 source for free.
The Executive Gauntlet
Job Interview Basics · Turn 4 Victor · NPC “That’s a headline number. Walk me through the trade-off you made to get there. What did you give up — and was it the right call?”
You “We gave up real-time freshness — reports now lag five minutes behind. For nightly analytics, that was the right trade.”
Scenario event: grudging_respect triggered
credibility
74
composure
65
pressure
40
The Salary Conversation
Difficult Conversations · Turn 6 Dana · NPC “Your work has been solid. But we’re at band ceiling for your level. What’s your thinking here?”
You “I’ve checked market data — my comp sits 18% below median for this scope. I’d like to talk about a path to close that gap.”
Scenario event: case_acknowledged triggered
rapport
65
confidence
71
resolve
58
The Car Lot
Everyday Negotiation · Turn 3 Dale · NPC “That’s already our best number — I’m basically handing you this car. We can’t go lower and keep the lights on.”
You “I’ve got a check from my credit union for the out-the-door price, minus the two recalls that are still open.”
Scenario event: sticker_shock_override triggered
leverage
52
patience
68
firmness
75
Feedback Without Fallout
Difficult Conversations · Turn 5 Morgan · NPC “I don’t even know what you mean by ‘interrupting the meeting.’ I was just being enthusiastic.”
You “Your energy is one of the best things about working with you. It’s specifically the part where others stop finishing their sentences.”
Scenario event: defensiveness_spike triggered
openness
42
tension
71
clarity
58
Spanish Coffee Shop
Language Café · Turn 2 Sofía · NPC “¿Qué le pongo? ¿Lo quiere solo o cortado?”
You “Un cortado, por favor. Y — ¿tiene algo dulce para el desayuno?”
Scenario event: vocabulary_gap_detected triggered
fluency
48
confidence
55
rapport
72
The Missed Deadline
Difficult Conversations · Turn 4 Alex · NPC “The sprint ends Friday. You told me yesterday it’d be done. I had to tell the client something. Help me understand.”
You “You’re right to be frustrated. I underestimated the integration work. It ships Tuesday — here’s what changed and why.”
Scenario event: trust_repair_initiated triggered
trust
35
clarity
79
tension
61
Scope Creep Defense
Everyday Negotiation · Turn 7 Client · NPC “While you’re in there, can you also rework the onboarding flow? It shouldn’t take long.”
You “I’ve flagged it for a future phase. Adding it to this contract shifts delivery by two weeks and adds roughly 40 hours.”
Scenario event: boundary_held triggered
clarity
83
firmness
70
goodwill
52
No cloud inference
No account
No telemetry
No subscription
Practice the conversation before it matters. Four official scenario packs ship free with every copy — openly
licensed and yours to remix — with premium expansion packs available on Steam:
Job Interview Basics Walk in ready.
Behavioral interview Hostile executive Blue-collar trade Stretch role Everyday Negotiation Get to yes without giving in.
Used car Apartment lease Freelance scope Customer-service refund Language Café Order the coffee in Spanish.
Spanish coffee shop French hotel check-in Japanese convenience store English small talk Difficult Conversations Say the hard thing well.
Coworker feedback Missed-deadline apology Boundary with a friend Ask for a raise How a session works Choose a scenario Browse the library, read your player brief, and set the difficulty.
Every scenario has goals, state variables, and events waiting to fire.
Talk it out Type or speak. The character across the table pushes back, warms up,
loses patience — its reactions evolve with every turn you take.
Watch the state shift Live meters — credibility, composure, pressure — show the dynamic
changing in real time. Say the wrong thing and you’ll see it.
Debrief. Then run it again. A scored debrief shows what you said clearly, where you hedged, and
the turning points. Adjust, rerun, improve. That’s the whole point.
Local-first is not a feature. It’s the architecture. The conversations you most need to practice are exactly the ones you’d
never type into someone else’s server. So there is no server.
What Where it runs Language model Your machine — llama.cpp Speech-to-text Your machine — whisper.cpp Text-to-speech Your machine — Kokoro / sherpa-onnx Transcripts & scores Your disk — SQLite, never uploaded Telemetry Nowhere — none is built in
Don’t take our word for it The code is open. And any time you like, one command runs a scripted
conversation and confirms not a single byte left your machine:
npx convsim offline-smoke-test \
packs/official/job-interview-basicIt exits with an error if any subsystem so much as tries to reach an
external host.
Read the full privacy policy →
Write your own scenarios. No code required. A scenario pack is a folder of YAML files — the situation, the
character, the scoring rubric, the safety rules. If you can describe a
conversation, you can build one.
The built-in Creator Workbench lets you copy an official pack, edit,
validate with one click, test in the browser, and export a shareable
zip. Publish to Steam Workshop or hand the file to a friend.
scenario_id: ask_for_a_raise
title: The Salary Conversation
player_role:
brief: Make the case for the raise
you already deserve.
npc:
ref: ../npcs/your_manager.yaml
state:
variables:
rapport:
default: 50
visibility: visiblePractice the conversation before it matters.