Back home
Sero

Designing for flow: How I built a game with 50K+ downloads

When I set out to create Sero, my goal wasn't just to build a game—it was to design a seamless, immersive experience. I wanted to create something that pulled players in, kept them engaged, and challenged them at just the right moments.

This case study breaks down the process behind Sero—from initial concept to launch—and how it became a game that over 50,000 players downloaded and enjoyed.

Sero Results

My role

This was a personal project—I designed, developed, and refined everything myself.

My role

Project highlights

The process

The process

The inspiration

When Monument Valley launched, I was hooked. It was simple, engaging, and beautiful—exactly what a mobile game should be. That experience sparked my obsession with designing for flow states—games that seamlessly pull players into deep focus and enjoyment.

Designing for flow

Through months of research, I learned that flow is all about balancing difficulty over time. Unlike most of my design work, where the goal is to reduce friction, flow actually requires intentional friction—a steady, rewarding challenge that keeps players engaged.

Designing for flow

Early ideation & prototyping

I knew the key to flow was intuitive, UI-light gameplay. I explored low-interaction concepts, sketched ideas, and rapidly prototyped to test how they felt. At this stage, I wasn't building a full game—I was validating core mechanics.

Early assets

The winning concept

After multiple iterations, I landed on a game where players arrange puzzle pieces to guide a bouncing ball. The goal? Collect all the triangles, then reach the other side of the screen. Simple, but with room for depth and mastery.

Crafting the visual experience

Once the core mechanics felt solid, I focused on the aesthetic. I wanted something minimal but striking—a design that enhanced gameplay without distractions. I iterated through color schemes, typography, and layouts, ultimately landing on a geometric style using bright colors and subtle gradients.

Sero Visual Design

Refining gameplay through user testing

To keep players engaged, I focused on real-time feedback and clear progression.

Early testing revealed a problem: The game felt frustrating, with no indication of progress beyond "success" or "failure."

Solution: I designed a progress tracker, where each collected triangle lit up green or red, depending on order. This tightened the feedback loop, helping players self-correct and stay in flow.

Sero Visual Design
Sero Visual Design

Correct

Incorrect

Using sound for feedback

To reinforce progress non-visually, I integrated guitar string notes into the experience.

Correct

Incorrect

Iterating on the prototype

User tests showed dramatic improvement—players picked up mechanics faster, needed fewer hints, and stayed engaged longer. By letting the game itself teach through interaction, I reduced reliance on tutorials and improved retention.

Level design

Next came the most time-consuming and challenging part of the process—level design. I expanded the visual language for five distinct chapters. Each chapter introduced new colors and gameplay elements to gradually increase difficulty.

Sero Level Design
Sero All Levels

Learning through gameplay

Rather than relying on instructions, I designed the early levels of each chapter to force the player to learn through experience. New mechanics were introduced organically—players had to experiment and discover how they worked through gameplay.

Sero Early Levels

Supporting screens

Gameplay was the core focus, but supporting screens played a key role in the overall experience. Success, failure, level selection, and menus all had to be designed to reinforce flow and maintain immersion.

Sero User Flow
Sero Chapter Intros
Sero Quotes
Sero Various Screens

Managing difficulty for individuals

To prevent frustration and stagnation, I implemented a dynamic level unlocking system. When a player completed half of a chapter, the next chapter unlocked. This allowed players to work on multiple levels at once, giving them the flexibility to take a break from any level they were stuck on.

Sero Difficulty

Refining level progression

A larger beta test provided valuable data on difficulty progression. I tracked how many attempts it took players to complete each level and visualized the data to identify difficulty spikes. Some levels were too easy, while others caused unnecessary frustration. Using this data, I refined level progression to create a smoother, more engaging experience.

Sero Difficulty Test

Launch & impact

After fine-tuning and rigorous QA, I launched Sero on the Apple App Store.

Sero Live
Sero Results

The final chapter

In late 2019, an iOS update broke the game. Rather than continue support, I chose to sunset Sero. It had accomplished what I set out to do—design a game that pulled players into a state of flow. I'm proud that 50k+ people got to experience it.

Website designed by Jake Lee Haugen. Coded by Jake + ChatGPT.