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

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 trading terminal with chat added. Cheap and familiar, but chat stays a side panel, so communities stay on Telegram.
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.
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.
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.
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.
of tested users completed a trade without help: funding, choosing a token and trading without leaving the core experience.
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.

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%.



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.

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