UX Case Study

Case Study: ChatQ. Native iOS chat app built for traders

ChatQ is a chat message app built for traders. It has the standard functionalities for chat apps with some customizable features tailored for investors.

The idea came from a group of traders from Singapore that were using Telegram and Facebook Messenger to share thoughts about market trends and events. They found it very limiting in many ways. So, as it always, one of them came up with an idea for a native chat app tailored for investors.

View Portfolio Shots icon


Our goal was to make a conversation about finance easier than ever. To achieve this, we decided to build iOS native app with chat functionalities, where users could customize bots to feed them with market insights and events. Some of these bots could be personalized.


What’s the difference? Customization is when users deliberately choose between options. It’s a high cognitive load task. Personalization is when you anticipate users’ needs and automatically show them a relevant experienc


I was invited to private chats on trading with our managers. They were very helpful. Especially the PM, Jerome. Every time I had a question, I could interrupt and ask why they are doing A or B. I browsed the chat history long when I was not in the room. They certainly wrote more naturally, so it empowered my research. I made tons of notes which were the foundation for certain functionalities within the app.


I found that investing is a team play. Moreover, people prefer to avoid losses more than earn equivalent gains.

User Flow Diagrams

As much as we did not want to reinvent the wheel in terms of chat messaging apps, we had to make sure that smart bots were well-planned and designed. I started with user flow diagrams that helped me to lay out the user flows.

Low-fidelity designs

I built the first low-fidelity design in Sketch, which was the king back in 2018. Now I would certainly start with Figma. We wanted to build an MVP as soon as possible. These wireframes were a foundation for our MVP.

Clickable Prototypes

When the designs were ready, I created clickable prototypes using the Invision app. Why not in Figma? It was 2018. At that point in time, I wanted to stay closer to the dev team in Ho Chi Minh City, Vietnam. I went for a 1-month onsite to Vietnam. It improved the communication within the team and built better relationships. I wanted to test the app with potential users.

Testing Chat App

Soon after, we had the minimum valuable product ready – the chat app. For me, that was enough to test it. The app did not work perfectly. It worked great as a chat, but it missed some trading features such as charts, market sentiments, etc.


So I went on a trip around University in Ho Chi Minh City to find candidates for tests. I was not so picky. Everyone was really helpful, and they were eager to help me out. I learned how they use Zalo and Line, which were the most used chat apps in Vietnam. I came back t

Testing Bots

In the next round of testing, we had the first bots ready and triggering when custom events occurred. Since the app was targeted at Japanese investors, I came up with an idea. Ho Chi Minh City is known as a popular destination among Japanese expats. Especially one district that was full of sushi bars and restaurants. So I went there, searching for Japanese investors. When testing the app, we found that bots are dominating the chats. They were sending too many messages. It overwhelmed users. Instead of being distracted by the noise of irrelevant information, our bots can help you track the precise information in a second. We had to improve the logic and the default settings. An interface is easier to use when complex features are gradually revealed later.

Charts, Watchlists, Market Sentiment

My initial research and conclusions from multiple numbers of tests indicated me that we are lacking of charts, watchlists, and in general, rich data.


We wanted to be fully customizable by users. Why? When users input something into the product with anticipation of a future benefit, it increases perceived value and loads the next trigger. This is an investment loop. Having custom bots that trigger according to the user’s setup was the key to achieving this.


Last but not least, we moved on to the subscriptions. We were considering a freemium model where some bots can be “hired” in a freemium model. The challenge here was that certain bots, like 52-week low, could trigger only once a year. Or maybe just a few times if the market was going down for a long time. So we might risk that users would never see the value of hiring these bots. When in doubt, users tend not to take action unless they understand what will happen.


When designing the plans, we decided to sell bots in packages. We wanted to indicate how many users subscribed to each one of them. Social proof is a convenient shortcut that users take to determine how to behave. When they are unsure or when the situation is ambiguous, they are most likely to look at and accept the actions of others as correct.

Case Studies


Case Study: AlphaWallet. Open-Source Mobile Ethereum Wallet App

AlphaWallet is an open-source Ethereum Wallet for users and businesses. I joined the team in 2019 without prior knowledge about blockchain, web3, and cryptocurrencies. I caught up very quickly. We had an established native iOS and Android app, the first TokenScript-compatible wallet. To explain, TokenScript is a programmable smart token interface. It allows token issuers…


Case Study: Brate. How I built a travel web app with 5M unique users?

Brate is a Polish web app that makes planning a trip easy. I founded and bootstrapped this project in 2019. Initially, it was a side project that I was developing after working hours. In 2022 it reached 1.8M unique users only in Poland (5M uu since 2019). How can a side project become one of…