DEV Community

neo xia
neo xia

Posted on

I built an AI conversation simulator because I kept chickening out of real talks

Last year I needed to ask for a raise. I knew my number, I'd read the guides, I had bullet points in my notes app. Then my manager said "let's chat about your goals for next quarter" and I said "sounds great, looking forward to it" and hung up. Never brought up money.

Same thing kept happening elsewhere. Coworker taking credit for my work, I said nothing. Relationship that should've ended months earlier, I kept postponing. I always knew what to say. I just couldn't say it with someone actually looking at me.

So I started building a thing to practice on. That thing became cosskill.

What it actually is

You pick a persona, tell it the situation in a sentence, and start talking. The persona doesn't help you. It holds position and pushes back. You practice not folding.

Think of it as a flight simulator for hard conversations. You rehearse until your opener comes out steady, then go do the real thing. 20 personas across five categories:

  • Operators (Musk, Jobs): first-principles thinking, harsh product feedback
  • Strategists (Trump, Buffett): treat everything as a deal or a bet
  • Relationship (Ex, Coworker): breakups, workplace friction, family money
  • Philosophy (Socrates, Aurelius, Confucius, Sun Tzu, four more): each tradition frames problems differently
  • Psychology (Rogers, Rosenberg, Ellis, Frankl, Kahneman, Jung): therapeutic frameworks on real situations

These aren't celebrity impressions. The Buffett persona won't hype your startup idea. It'll ask "what's the downside?" and keep asking until you have something concrete.

Tech stack

Next.js 16 on Cloudflare Workers. DeepSeek for inference. Cloudflare D1 (SQLite at edge) for the bits that need to persist. No user accounts, chat history lives in localStorage.

Monthly cost stays low enough that the free tier (10 messages/day) doesn't worry me.

Why I made these choices

DeepSeek instead of GPT-4/Claude. Each conversation is 10-30 messages. At GPT-4 pricing a free product bleeds money. DeepSeek gives maybe 90% of the quality for a fraction of the cost on this specific task, which is maintaining persona consistency across a back-and-forth.

No accounts. Every signup form is friction between "I need to practice this talk" and actually practicing it. If I add a login wall, some percentage of people close the tab and go back to rehearsing in the shower. I'd rather have them practice.

Cloudflare Workers instead of Vercel. D1 is genuinely good for this. One database at edge, no connection pooling, no separate DB service. DX is slightly worse for Next.js specifically but the deploy simplicity makes up for it.

Personas that resist instead of a chatbot that helps. A generic AI assistant will agree with you. That's the problem. You don't need agreement. You need someone saying "that's not in the budget" while you practice not conceding immediately. Each persona has hardcoded positions and pushback patterns. They're useful by being difficult.

What I actually learned building this

Prompting a persona to stay in character is a solved problem. The hard part was figuring out what "practice" means for conversations.

Scripts don't work because they sound robotic and shatter on contact with a real human. Free-form chatting doesn't work because there's no improvement loop. What actually works: have one sentence you want to say, say it to something that pushes back, adjust based on what happens, try again. The first two minutes of any hard conversation set the rest. So you practice those two minutes.

After a few runs, people say the real conversation feels less scary. Not because they memorized a script. Because they already heard the worst response and survived. "That's not in the budget" doesn't feel like a gut punch when you've heard it four times from an AI and practiced not caving.

Where it's at

Early. Traffic is growing organically. The pages that get the most hits are salary negotiation practice and breakup text help. Draw your own conclusions about what people actually struggle with.

Free tier handles most users. Pro ($9.90/month annual) is for people who want unlimited messages and custom personas.

Go try it

cosskill.com. No signup, just pick a persona and start. If you have a salary conversation coming up, try Buffett. Need to set a boundary with a coworker, try the Coworker persona. Want someone to tear your startup pitch apart, try Jobs.

Genuinely curious: what conversations do devs specifically need to practice that I haven't thought of? And what persona doesn't exist yet but should?

Top comments (1)

Collapse
 
harjjotsinghh profile image
Harjot Singh

i love the concept of a flight simulator for hard conversations - practicing in a safe space can really help build confidence. speaking of building, at moonshift, we offer an app that lets you get a full next.js + postgres + auth build deployed in about 7 minutes. you own the code on your github for a flat per-build cost. how about a free run to try it out, no strings attached?