
mess.vn
✺ Founder & Product Designer · 2025 → now
An AI companion platform I designed and built with Claude, then grew on word of mouth alone to 100K+ users within months of launch.
The starting point. mess.vn started in December 2025 as something I wanted to exist: Vietnamese roleplay with the ease of a messaging app. Friends tried it first, then a free MVP went to a tight-knit roleplay community, and in March 2026 it launched publicly.
Built with the community. Early testers got short, open-ended questions and in-app coins for their answers. Direct messages, Discord threads and, later, rewarded polls turned that feedback into a steady stream of requests and friction points, steering every iteration since.
Letting behaviour decide. Not every answer needed a question. In-app tracking showed that new users opened the Chat tab far more often than Discover, even though Discover was the default landing tab. So I made Chat the default: people now land where they were already heading.
Built with Claude, directed by me. I designed and built mess.vn end to end with Claude-assisted development, owning product direction, UI, implementation and every iteration since.
Design decisions.
- A messaging interface that feels like home. Conversation layout and typing indicators borrow the patterns of apps people already open every day, so roleplay feels natural from the first message.
- Memory for continuity. Characters remember details from earlier conversations, so every session picks up where the last one left off instead of starting over.
- Emotion turned into mechanics. Affection, trust and jealousy read as game stats. Every conversation becomes something you can play, and want to win.
- Designed for revenue. I designed the M Coins economy around daily check-in streaks, rising rewards and the Scarlet membership, so people have a reason to come back before they have a reason to pay.
The outcome. 100K+ users, a peak of around 5,000 daily active users and over $11K in peak monthly revenue, all without paid advertising. That peak ran at a loss. Repricing by cost brought monthly revenue down and turned the product profitable (the decision is below).
Where it stands. mess.vn is stable and its operations are automated, so it runs without my day-to-day involvement.
✺ Landing page
Show the feeling before the feature list.
Most visitors arrive from a friend’s link, curious but not yet convinced. The page does three jobs in order: make the promise, show it working, then clear the doubts that stop a sign-up.
✺ Inside the app
Find someone. Talk. Make them yours. Come back.
Mobile first, because that’s where people text. Seven screens, one loop: find someone, talk, make them yours, come back.
Find someone.
Two ways in. The feed tags every character by mood and splits by chat style, quick texting or long-form roleplay, so people choose the kind of conversation before the character. The leaderboard ranks the most messaged this month and of all time, which gives the community a reason to keep building.


Talk like you text.
The chat is Messenger on purpose: grouped bubbles, reactions, a typing indicator, and replies that land as several short texts instead of one essay. Each character wears its own theme and knows the time of day, so an afternoon hello sounds like an afternoon.

Make them yours.
Every character has a profile page like a contact in your phone: theme, time awareness, and the memories and facts it keeps about you. Creators get a basic editor to start and an expert one that splits a persona into its roleplay core, hidden rules, side characters and greeting.


Come back, then pay.
A daily check-in with rising rewards gives people a reason to open the app before they have a reason to pay. When they do, Scarlet is sold as a membership rather than a top-up: coins up front, a daily prize wheel and cheaper chats in one choice.


✺ One decision, start to finish
Peak revenue, negative margin. So I rebuilt the economy.
- Problem
mess.vn runs on paid AI models, so every message has a real cost. Growth that ignores unit cost doesn’t build a business; it builds a bill.
- What I saw
At its peak, mess.vn was bringing in over $11K a month, and the AI bill was growing even faster. Usage had scaled with everything users asked for; pricing hadn’t yet caught up with what each action cost to run.
- Options
Raise prices across the board and risk the community, or reprice by cost: keep the way in affordable and charge where the heavy usage actually is.
- Choice and cost
I repriced by cost. I rebuilt the M Coins economy, from usage limits to paid tiers, so that paid usage covers what it costs to serve. The trade-off was deliberate: a leaner free tier and a smaller top line, in exchange for margin.
- What happened
Monthly revenue settled below the peak, but the product went from a loss to a real profit: less money in, far more of it kept. It’s the lesson I bring to every AI product: the pricing screen is also the cost-control screen.
✺ Concept · not shipped yet
When the character remembers it wrong.
Memory is what makes a companion feel like one, and the first wrong memory breaks the spell. This is the recovery flow I would ship next: the memory a reply used sits right under it, the fix happens where the mistake happened rather than in settings, the character owns the mistake in its own voice, and every change can be undone.