Chatcha is a daily texting game. Every day there is one person to win over, and you get 5 texts to do it. Some days it's a new match from a dating app. Other days it's your partner: someone who has been hinting at something all week, a fight that is officially about the dishwasher but really isn't, or a girlfriend whose anniversary you forgot.

Chatcha landing page with the intro told as chat bubbles and a Play today's match button

Both sides of the chat are AI. One model plays the character and replies in their voice. A second model is the judge: after every text you send, it scores how the conversation is going, how close you are to winning, and which technique you used (curiosity, humor, callback, confidence). The actual win and loss logic is plain code on the server, so neither the model nor the client can declare a win. It also means prompt injection doesn't help: telling the character to ignore its instructions and say yes just reads as weird texting behavior inside the fiction, and the conversation tanks.

After every reply, a wingman hint tells you what the character is actually waiting for. At the end, each of your texts gets graded, the judge writes a debrief of your conversation, and the character's real requirements are revealed. That last part is what makes it a trainer and not just a game.

Today's scenario is the forgotten anniversary. Elena opens with: "so. anything you'd like to say to me today? take your time. apparently we have all year"

Chatcha chat with Elena, a mood meter at the top, and a yellow wingman hint below her reply

She doesn't want a generic sorry. She wants zero excuses, proof the year registered (a real specific memory, not greeting-card lines), and a concrete plan you come up with yourself. I won it in 3 texts.

Chatcha end screen showing the Forgiven verdict, graded texts, what Elena was actually looking for, and the debrief

It started as a pure dating trainer. I showed it to friends, and the feedback that stuck was one of them saying she wanted it for training her bf. So now dating days and relationship days alternate: 10 scenarios, 20 characters, one per day, with scenario-specific verdicts like "It's a date.", "Forgiven.", and "Couch tonight."

The name has a story too. Halfway through building it I found rizzdle.com, someone already made the dating version of this idea. So the game got broader and the name became Chatcha.

The stack is Next.js, the AI SDK, and GLM 5.2 through OpenRouter. Each game costs about $0.008 in model calls (one character call and one judge call per turn).

Play today's game.