Back

dm.fun · 2025

Collapsing a five-app trading loop into one chat

Sole designer at Matrica Labs. I owned the product direction and design system across mobile and web, and prototyped in code alongside Engineering and Growth.

Matrica users
1.7M+
Matrica users
beta sign-ups
2,000+
beta sign-ups
flows shipped
30+
flows shipped
fewer dev revisions
67%
fewer dev revisions
dm.fun's chat list on a phone: token communities with live prices

The problem

Traders were already trading in chat. The chat just wasn’t built for it.

Crypto communities live in chat. In a CoinGecko survey, 84% of crypto users said they spend most of their crypto time on X, Telegram and YouTube; only 6.5% get their news from news sites.

But trading there is fragmented. People trade in one app, chat in another, check token safety in a third, and copy contract addresses by hand. Each step is a place to lose a user, or to get scammed.

dm.fun set out to fix that: help traders find and trade tokens with people they trust, and grow engagement and trading volume along the way. I owned how trading, social and community came together as one product, not a set of features bolted together.

The opportunity

Defining success before designing anything

Research showed the real blocker was trust. Traders weren’t avoiding trading; they were avoiding unverified communities and bots. I framed trust as the core product problem, not a moderation add-on, and set these targets with Product and Growth before any screens:

  • Time from sign-up to first trade3–5 min
  • Share of beta sign-ups who trade40–60%
  • Engagement in token communities35%+ of members

So far, new users reach their first trade in about 1.5–2 minutes, 78% traded without help in usability testing, and 2,000+ signed up for the beta.

Approaches

Three directions, weighed on effort against impact

A

A trading terminal with chat added. Cheap and familiar, but chat stays a side panel, so communities stay on Telegram.

B

A trading bot inside Telegram. Fastest to ship, but we’d inherit fake groups and scams, control none of the interface, and keep an expert-only experience.

C

A chat-native app with an official room per token. Each token gets an official, bot-resistant chat at launch, tied to its contract address, with moderation tools. More work than A, but it delivered the trust we needed without building a whole network.

Relative score, 1 (low) to 5 (high)ImpactEffort
A · Terminal with chat added1Impact2Effort
B · Bot inside Telegram2Impact1Effort
C · Chat-native, official rooms5Impact3Effort

I made the case for C over the faster options, and wrote up the trade-offs for Olen (CEO), Matt and Utibe (senior engineers), and Zach and Ron (Growth).

The decision

What we chose, and the constraints we worked within

We chose C. Each token’s chat is created automatically at launch and linked to its contract address, so the community is verified from the start. Moderation borrowed the Telegram patterns users already knew, which kept the learning curve low.

The main constraint: dm.fun had no trading infrastructure of its own. It’s a social layer that routes swaps through Solana DEXs such as Jupiter, so the trading flow had to stay close to what those routes already did. I mapped every step with Engineering and cut what the routes didn’t need. Launch was Solana-only, which kept scope tight.

I prototyped the riskier ideas in code and tested them with traders first: the paste-to-trade card, one-tap buy, Explore and post-sign-up missions. Engineering only built what held up.

Inside dm.fun

One official room per token, nothing to impersonate

Each token’s chat is created at launch and tied to its contract address, so there’s one official room and nothing to impersonate. Holder and whale chats are gated by on-chain holdings, and teams get built-in moderation tools.

Version one: the journey from exploring tokens to joining a token community.

The moment of intent becomes the trade

Pasting a contract address is the moment someone decides they’re interested, so I turned it into a live trade card right in the chat: identity, price, chart, holders, verification, and buy/sell.

Alongside it sit the full token page for more context, and a one-tap buy (“ape in”) with preset amounts. Three entry points, each answering a different need: speed, safety and information.

No dead ends before the first trade, either. Low on funds? MoonPay and other options sit inside the trade flow. Wallet setup and referral codes appear only when needed, so setup never blocks exploring.

78%

of tested users completed a trade without help: funding, choosing a token and trading without leaving the core experience.

The updated look, on dm.fun’s design system: interactive trading widgets inside the chat.

Discovery built on momentum

With millions of tokens launched, a ranked list buries what matters. I organised Explore around relevance and momentum: Trending, Movers and Newly graduated tokens, alongside the groups and people driving them. Each row carries the key market numbers at a glance, so traders go from curiosity to context without knowing exactly what they’re looking for.

Designing the feeling people expect

In crypto, memes are culture, identity and coordination. Rather than skin the product in meme visuals, I turned community energy into a loop people move through:

Discover → React → Join → Participate → Amplify → Trade

  • Meme discovery: emerging tokens and communities, surfaced in a highly visual, always-moving feed.
  • Community raids: a way for groups to coordinate and amplify a token beyond the chat.
  • Boosts: visible signals of a community’s participation and momentum.
  • Missions and rewards: participation turned into structured actions people can complete and be rewarded for.
  • Badges and identity: ways to show status, contribution and reputation.
A token community chat with live trade activity

Identity and reputation: making on-chain identity visible

I designed this to keep people invested: profiles, appearance and badges that reflect what someone has called and contributed. It hadn’t launched when I left Matrica, but it was projected to lift average community engagement by 16–24%.

Profile appearance settings and a reputation badgeA “#2 Top Caller” badge on a profile
A token community and its top callers

Onboarding: from curiosity to participation

Users were stalling right after onboarding. In my Maze research, 7 out of 10 wandered off to explore other parts of the app and dropped the flow.

So I added missions straight after sign-up, which made the path from sign-up to first trade far smoother. Afterwards, 8 out of 10 users committed further: 5 made their first trade, and 3 joined and engaged in communities.

Onboarding: choosing a name, then a list of early missions

What I learned

Trust was a product feature, not a marketing claim

The verified, contract-linked chat did more to keep people in the flow than any single trading improvement. It’s why I argued for C over the faster options: speed only helped once people believed the token, and the room, were real.

Also designed

More of dm.fun

  • Real-world assetsTrade Pokémon cards and other RWAs
  • Private groupsExclusive alpha groups
  • CallsPredict a token’s trajectory
  • SocialFollow friends, create groups, message privately
  • dm.fun TurboAn exclusive interface for premium users
  • dm.fun WebThe full experience on desktop