Founder & Product Designer · 2025 → now

mess.vn

An AI companion platform I designed and built with Claude, then grew on word of mouth alone to 100K+ users within months of launch.

AI Companion0 → 1MonetisationDesign System
100K+users
~5,000peak DAU
$11K+peak monthly revenue
$0ad spend
mess.vn app icon, a white M on a blue tile, centred on a deep blue field

Overview

The problem and my role.

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

The choices that shaped the product.

  1. 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.
  2. Memory for continuity. Characters remember details from earlier conversations, so every session picks up where the last one left off instead of starting over.
  3. Emotion turned into mechanics. Affection, trust and jealousy read as game stats. Every conversation becomes something you can play, and want to win.
  4. 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.

Outcome

What happened next.

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.

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.

The work

Real screens, and the reasoning behind them.

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.

mess.vn landing hero: One message. Ten thousand stories. over a wall of character cards, with 100,000+ users under the buttons
One promise, “One message. Ten thousand stories.”, over a wall of characters, with the user count right under the button.
Feature cards: Messenger-style chat, remembered details, emotion bars and characters who text first
Each feature card shows a miniature of the feature instead of describing it: a sample chat, a memory list, emotion bars and a character who texts first.
FAQ: what mess.vn is, whether it is free, privacy, and how it differs from Character.AI
The FAQ clears the doubts that stop a sign-up: price, install, privacy, and how it differs from Character.AI.

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.

01

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.

Discover feed: character cards with tags, chat counts, and filters for quick texting or detailed roleplay
Leaderboard podium of the most messaged, with this month, last month and all time tabs
02

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.

Chat with a character in a warm sunset theme: short grouped replies, a heart reaction and a typing indicator
03

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.

Character settings: display toggles, time awareness, memories and facts
Expert character editor with cards for roleplay core, hidden rules, side characters and greeting
04

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.

M Coins daily check-in: streak counter, today’s reward and the next days’ rising rewards
Scarlet membership plans for one and two months, each listing coins, the prize wheel and chat discounts

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.

Contact

Want the thinking behind this project?

Phone
0708 072 134
Social
Facebook ↗
Based in
Thu Duc, Ho Chi Minh City
Focus
AI products · Monetization · Complex workflows