Cactus Developer Platform by Afolasade AjayiCactus Developer Platform by Afolasade Ajayi

Cactus Developer Platform

Afolasade Ajayi

Afolasade Ajayi

Interviewed users and reviewed onboarding flows to figure out where people were getting confused or dropping off.
Wrote clearer, friendlier content for the skill challenges, explaining the “why” behind each step without sounding too technical.
Tested the community section with users and found a few navigation issues that made it harder to explore or participate.
Reworked content based on feedback to make challenges feel more welcoming and less overwhelming.
Helped update the design system by making sure language and messaging felt consistent across different parts of the product.
Overview
Cactus isn’t just a platform for developers; it’s a space designed to help them grow, solve real-world problems, and connect with like-minded individuals. As the UX researcher, I collaborated closely with the design team to explore developers' needs. I worked to understand the needs of developers, focusing on creating an engaging experience that helps users to level up their skills while building strong connections with others in the tech community.
Cactus started its web app with the aim of becoming one of the best programming challenge platforms alongside Leetcode and Code Wars
Key constraints
The project started with a vague brief, requiring us to do endless interviews and research to know the true needs of developers.
There was a significant gap in the platform, as developers wanted real-time competitive challenges that were not present.
Goals
Practical, Skill-Building Challenges: We didn’t just want users to "complete tasks", we wanted the challenges to feel real. Developers told us they wanted to sharpen their skills by solving problems they might actually face on the job. So we designed challenges that were both useful and a bit fun, with room to track progress and compete with others.
Community that Feels Like a Community: Learning to code can be isolating, and we knew that wasn’t working for everyone. We wanted Cactus to feel like a place where developers could ask questions, share ideas, and grow together. That meant designing spaces that encouraged interaction, not just likes and comments, but actual collaboration.
An Experience That Just Works: We knew it didn’t need to be flashy and useless; it just needed to work. No one wants to waste time figuring out where to click or how to find things. So we focused on making the platform feel effortless to use. Clear navigation, simple flows, and small, thoughtful details helped make the experience feel natural, especially for first-time users, without leaving advanced users bored or boxed in.
Process
To create a platform that truly served developers, we needed to first understand their goals, frustrations, and needs. We started by conducting in-depth user interviews with developers to learn what was missing in the current tools they were using. We then created personas to represent different types of developers and empathy maps to ensure we fully understood their pain points.
Our team's general design process for this project followed the double diamond theory
UX Deliverables
Personas - We created personas to better understand the different types of developers using the platform, from beginners looking for guidance to more experienced devs wanting to stay sharp. This helped us design with real needs and motivations in mind, not assumptions.
UX Deliverables
Empathy Maps: We used empathy maps to dig deeper into how developers were thinking and feeling — what motivated them, what frustrated them, and what they needed from the platform. It helped us keep their perspective front and center during design decisions.
UX Deliverables
TaskFlow: For key actions like joining a challenge or connecting with the community, we broke down the steps users needed to take and streamlined them. This helped us spot unnecessary steps, remove friction, and make sure users could complete tasks without second-guessing.
UX Deliverables
User Flow: We mapped out how users would move through the platform from signing up to completing challenges making sure each step felt logical and easy to follow. The goal was to reduce friction and help users stay focused on learning, not figuring out where to go next.
Key Research Findings
Through interviews and research, we identified a few key needs and feature gaps that were critical for the platform's success:
Skill-Enhancing Challenges: Developers weren’t just looking for theory, they wanted real, hands-on problems that mirrored what they might face in the field. They craved challenges that would stretch their thinking and help them build practical experience.
Expert-Led Learning: Many users mentioned wanting to learn directly from people with real-world success. There was a strong desire for guidance from industry experts, not just tutorials, but insights drawn from actual experience.
Collaboration & Community: It became clear that learning in isolation wasn’t working. Developers wanted a space where they could connect, share ideas, ask questions, and grow alongside others. A strong, supportive community wasn’t just a nice-to-have - it was a need.
Feature Gaps
Devs could not compete with others in live, time-sensitive challenges.
There was no easy way to share or discover resources and learning materials. Developers needed organised spaces to collaborate and share insights.
Developers wanted the ability to create and share their own content, like custom challenges or tutorials.
Designing the solutions
With these insights in mind, we began brainstorming solutions that would address the gaps and needs we had identified:
Ranks: To keep developers motivated and engaged, we introduced a ranking system that made progress feel rewarding. It added a layer of healthy competition and gave users a clear sense of how far they’d come. The system had three main levels — Hawthorn, Firethorn, and Blackthorn and each one was broken down into smaller steps: Beginner, 1 Star, and 2 Stars.
Onboarding: New users start by picking their preferred programming language, something familiar to help them feel at home right away. From there, they begin their journey at the Hawthorn Beginner rank. As they take on challenges and get involved in the community, they start climbing the ranks and seeing their progress come to life.
Skill Challenges: We introduced “Spikes” - real-world challenges that developers can tackle solo or with a team. These let users put their skills to the test in practical ways, plus compete live against others for a little friendly rivalry.
Community Features: We designed community channels where developers could share resources, ask questions, and connect with peers. These spaces help build a sense of community and make learning feel less lonely.
Progress Tracking: Developers track their journey through ranks, starting at Hawthorn, moving to Firethorn, and finally Blackthorn. This gamified system keeps motivation high and makes achievements visible and rewarding.
Testing with users
We tested the platform with real developers to make sure it felt easy to use and engaging. We paid close attention to key parts like onboarding, skill challenges, and community features. The feedback we got helped us smooth out the design and make the user experience flow better.
For example, some users wanted a bit more help during onboarding, so we added quick tooltips and tips to guide them. We also made the community channels simple to navigate, so developers could quickly find discussions that mattered to them.
What next?
While Cactus isn’t live yet, all the research and design work has laid a solid foundation. The next step is building and testing the final product. We’re excited and confident that with these insights, Cactus will give developers the tools they need to grow their skills, connect with others, and stay motivated every step of the way.
Like this project

Posted Jan 9, 2026

Cactus is where developers solve real-world coding problems, grow their skills, and connect with peers in tech.