Conversation Simulator

Local-First AI Practice, 2026

Case study Outright Mental (original IP)2026
Role
Product design, AI systems & engineering
Target
A practice environment for the conversations that decide careers and friendships — with a privacy claim a buyer can verify rather than take on faith
Constraints
2026 · local-first by architecture, not by policy — no server, no account, no telemetry, no subscription · two safety rules that no configuration can weaken · and an offline claim that has to survive being tested by a hostile procurement office
Force fielded
Nick Charney Kaye — product design, AI systems and engineering; llama.cpp, whisper.cpp, local voices and an on-device SQLite database
Time-to-dispatch
Shipped 2026 — $9.99 on Steam, Apache-2.0 source, Windows, macOS, Linux and Steam Deck
Result
A shipped local-first practice product with a verifiable receipt: one command runs a scripted conversation end to end and fails loudly if any subsystem attempts an outbound connection. Four openly licensed official packs ship with every copy; a scenario is plain YAML its author owns
Principal
Outright Mental (original IP)

Pilots get simulators. Surgeons get practice labs. For the conversations that decide careers and friendships, most people get one take — live, unrehearsed, with everything on the line. Conversation Simulator ends that. It’s not a chatbot, not a game, not a course: it’s a practice environment where you run the conversation before it matters, as many times as it takes.

You don’t win by insisting

Characters in a scenario hold positions, and they hold them the way people do: against volume, against repetition, against charm. What moves them is evidence — and every scenario seeds it in the situation itself: the brief your character walked in with, the claims the other side has already made, the specifics of the world you’re standing in. Digging those details out mid-conversation, under pressure, is the skill being trained.

Here’s the shape of it, from The Salary Conversation — one of the official scenarios:

The Salary ConversationDana · Difficult Conversations · Turn 5
DANA · NPC
“Your work has been solid. But we're at band ceiling for your level. What's your thinking here?”
YOU
“I really feel like I've earned more than this.”
No state change — assertion without evidence
The evidence was in your scenario brief the whole time — your character checked the market data before walking in. Feelings didn't move her. Use the number.
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
DANA · NPC
“…All right. Walk me through that number.”
rapport65
confidence71
resolve58

Saying it louder does nothing — you can watch it do nothing. A character’s conviction is state, and state moves on specifics: the number you can actually cite, the claim of theirs you can quote back. The meters and scenario events make that visible live, and the debrief tells you afterward which moment turned the room. Practice digging out the evidence before the conversation is real.

DEBRIEF · THE SALARY CONVERSATION
Said clearly: the median gap, by name. Hedged: the opening turn — a feeling where a fact belonged, and the meters didn't move. Turning point: using what the brief gave you instead of repeating yourself. Outcome: case_acknowledged.

Three ways in

Operate the software, read how a local-first product markets itself, or study the license model that keeps the whole thing free to build.

What’s under the table

The whole stack is local by architecture, not by policy: llama.cpp runs the character, whisper.cpp hears you, local voices answer, and every transcript and score lives in a SQLite database on your disk. No account. No cloud. No telemetry. No subscription. The conversations you most need to rehearse — the raise, the diagnosis, the apology — are exactly the ones you’d never type into someone else’s server. So there is no server. And the receipt ships in the product:

npx convsim offline-smoke-test packs/official/job-interview-basic

One command runs a scripted conversation end-to-end and fails loudly if any subsystem so much as attempts an outbound connection. Trust that can’t be checked is just branding. Check.

Written, not engineered

A scenario is a folder of plain YAML — a situation, a character, a scoring rubric, safety rules. No code, no build step. A teacher can script oral exams; a union rep can drill negotiations; a friend can build the exact conversation you’re dreading. Four openly licensed official packs ship with every copy, and the built-in Creator Workbench validates new ones against a published quality bar.

Two rules hold in every scenario, from every author, and no configuration can weaken them: content that sexualizes minors ends the session, and self-harm crisis language ends the session and surfaces real resources. Community packs can make safety stricter. Never looser.

For teams & institutions

Because a scenario is just YAML its author owns, it is also something an institution can commission. A nursing program, a bar association, a social-work faculty, a union local — anyone who trains people through hard conversations can have the exact pack their people need, authored and safety-reviewed by us, then handed over to run on hardware they already control. No seats to rent. No transcripts to leak. The content is a deliverable you keep, not a login you pay for. The offers, priced and scoped, live on the Conversation Systems door; the compliance story lives in the regulated-sector one-pager, which maps this architecture to HIPAA and FERPA postures in plain language.

The candor cuts both ways. If your procurement requires a cloud dashboard of employee transcripts, we are not your vendor — on purpose. There is nothing to dashboard, by design, and we will not build the surveillance back in to win the deal.

Commission a pack or pilot Read the source

Free to build. Fair to buy.

The engine is Apache-2.0, the official packs are CC BY 4.0, and the paid Steam build is the same software with the friction removed. One promise holds the model together: what’s free stays free — paid is only ever more. How that works, and what it unlocks for institutions with proprietary data and models, is the Open Source page’s whole subject.

The pedagogy is not new here. Silver Nickel: Whistleblower ran the same rule in 2019 — drop a learner into a situation with real stakes, make the invisible consequences legible, and let them rehearse the consequential choice before it counts. And Read The Room is the other half of the loop: once a Read names the next move, this is where you practice saying it.

From the studio manifesto: presence over avoidance — avoidance is the root of most suffering, and you can’t out-think reality; you can only meet it. Conversation Simulator is that belief shipped as software: moments of discomfort, followed by clarity, on a loop, until the version of you that walks into the real room has already been here.

Get it

Conversation Simulator

$9.99 on Steam·Free from source

Buy it once on Steam and it's yours — or build it from source for nothing. Same software, your call.

  • Practice interviews, negotiations, language, and difficult conversations
  • Runs 100% on your machine — no account, no cloud, no telemetry
  • Windows, macOS, Linux, and Steam Deck
  • Apache-2.0 engine and CC BY 4.0 official packs, free forever

Runs 100% on your computer — no account, no cloud, no telemetry.

Proof: conversationsimulator.com · manifesto · docs · source (Apache-2.0) · download / Steam — Windows, macOS, Linux, Steam Deck