Sole designer
3 weeks
Web
Allow users to buy any crypto
Get in touch
I worked on simplifying the crypto buying experience by reducing the steps and product switches required to purchase an altcoin. The goal was to streamline the process, enhance growth KPIs, and ultimately drive higher trading volume and revenue. We designed an end-to-end experience in under two weeks, navigating shifting requirements, time constraints, and limited data. Post-release, adoption increased, but conversion rates declined, prompting us to reassess our product and design assumptions. Additionally, the impact on trading revenue remained minimal.
TL;DR
This feature streamlines the process of buying any cryptocurrency with FIAT, eliminating the need for multiple swaps to get your desired token.
I was tasked with designing an experience for both crypto natives and less experienced traders who need a specific token that isn't available for direct purchase through our providers.
Why do we think this is important? A bit of context:
MMany cryptocurrencies are primarily traded against the native token of their respective chains, such as ETH on the Ethereum chain or BNB on the Binance Smart Chain. This means that if you want to buy an altcoin not supported by our providers, you need to:
Buy the native token (ETH)
Swap Ethereum for the desired token.
This process isn’t ideal, as it requires multiple steps and waiting times. Additionally, not all buyers understand why this process is necessary, meaning the product must explain (in simple terms) why it's required.
Here comes Flooz to the rescue.
What if we could minimize this friction and attract more people to trade with us, ultimately impacting our trading revenue (which is how we make money)?
A new feature is born… welcome to our BUY-ANY.
How do you move forward? Building a plane while we are still flying.
I would love to describe a process so flawless that we could make a TED talk out of it. Unfortunately, that wasn't the case. Our process was messy and full of unknowns, as is typical in startups still striving to achieve product-market fit. If you wait too long before releasing to production, competitors catch up, and the market becomes saturated.
Our strategy was clear: we identified a pain point in a trader's journey and placed all our bets on that. Looking at our competitors, we were the first to offer this type of experience. The assumption was that winning more trades would positively affect both our business KPIs and growth funnel.
What to design and when? Heads down even if you don’t have all the answers.
To lay the foundation for my design, we need to get a bit technical and explain how we masked the entire process of buying your desired token.
For example, if you wanted to buy PEPE token (yes, the frog one), you would need to buy ETH first with your FIAT. Once you have the ETH, you would then swap it for PEPE on the Ethereum chain. Our job is to eliminate the friction of multiple nested steps.
In an ideal scenario, we'd let the user buy PEPE directly with FIAT. Voila – once the funds are available, they can carry on with their day. But it's not that simple.
Since we are a DEX and don’t hold liquidity, we can’t do that. Instead, we work with third-party providers that handle KYC, user authentication, payment methods, and regulatory compliance. So far, nothing out of the ordinary.
Now, here's how we made it work if you wanted to buy PEPE:
A trader connects a wallet.
Selects "buy crypto."
Chooses the FIAT-to-PEPE pair.
The system returns the cheapest quote from our provider based on the payment method.
The trader proceeds to buy ETH.
The trader buys ETH.
Once the trader has the ETH, we trigger the swap flow.
The trader swaps ETH for PEPE.
This way, the trader can buy any crypto with fewer steps, without the inconvenience of starting a swap after acquiring the native coin.
This is not a walk in the park, they said.
The reality for a designer in this type of project is far from ideal. As the solo designer on the team, I faced the following challenges:
Time pressure: Working with tight timelines and short development cycles left little room for validating assumptions. The overall design was shipped in less than two weeks.
Growing requirements: The design needed to be fluid, as not all answers were clear from the beginning. I had to keep the feedback loop active and ensure conversations between stakeholders were always up to date.
Context switching: To keep things moving, I had to support different teams with ad-hoc requests.
Lack of accessible data: We relied on assumptions and worked through them. To validate our ideas, I pushed for small user testing runs with some partners. These tests mostly addressed how we presented information when a user tries to buy a non-supported token.
Key features:
Ability to retrieve quotes for any supported crypto pair:
This feature provides an estimate of how much a user would get using FIAT to buy a token, including the intermediary step of buying the native token.

Showing the cheapest provider option to buy with:
Before the user proceeds, we always show the cheapest option available based on currency and payment method. The cheaper the option, the more crypto the user gets for their FIAT.

Detecting when you are ready to swap to your desired token:
This is the centerpiece of the entire experience. By tracking when the native token lands in the user’s wallet, we automatically trigger the next step without disrupting the user's journey.

Final thoughts:
Working on this feature made me realize the complexity of building a web3 product and how early we are in making it accessible to everyone. Buying crypto is still a broken, complex experience—especially when not all tokens can be purchased due to technological limitations. This feature extended the Flooz product offering and addressed a key pain point for users when trading crypto.
To conclude, the business impact remained relatively small due to two main factors: the need for high trade volumes to generate revenue (because fees are low) and the fragmented experience caused by multiple steps and conditions that users still face.