00 ▪ Independent

Iro-Iro

A simple game that became a decade-long exercise in design, technology and iteration.

Iro-Iro is a calm, colour-based puzzle game for iOS, iPadOS, macOS, and Android. The goal is simple: swap coloured tiles until they form a continuous gradient.

I made the game from start to finish, from its game mechanics and puzzle generation to the visual design, UI, algorithms, implementation, and publishing.

2014 — presentiOS ▪ macOS ▪ AndroidFlutterPuzzle game

Iro-Iro Puzzle 72 in progress on a phone screen: rounded magenta, green and yellow tiles in a T-shaped arrangement, with time and move counters above and round game controls below
Puzzle 72 in the current version: swap tiles until the colours form a continuous gradient.

01

A simple idea

Iro-Iro started with a game I enjoyed called Blendoku. I wanted to try a similar core mechanic and create my own visual style, interactions, and overall feel.

The idea stayed simple: arrange colours, find the gradient, and do it in as few moves as possible.

The challenge was everything around that interaction: how to make the puzzles, how the game feels, and how it changes across platforms and technologies.

The same Iro-Iro puzzle solved on a phone screen: rounded tiles forming a smooth gradient from magenta through green to yellow
The same puzzle solved: a continuous gradient from magenta to yellow.

02

From colori to Iro-Iro

The project began in 2014 as colori, with separate native iOS and Android implementations.

In 2018, I rebuilt it in Unity for a cross-platform version. I tried to keep the UI and visual style close to the original, though the new version had some differences.

Unity also taught me an important lesson about choosing technology for the problem. I made a simple 2D puzzle with 3D shapes as a workaround, and some platform features needed other workarounds.

It worked, but it wasn't a good fit.

  1. 2014

    colori, native iOS and Android

  2. 2018

    Unity, cross-platform rebuild

The original colori main menu on a phone screen: large red, yellow, teal and orange buttons reading Play, How to Play, Store and About
The original colori menu: minimal and functional.
The original colori puzzle list on a phone screen: a numbered grid of yellow, green, orange and purple tiles, some with white dots marking progress
The original puzzle list.

03

Rebuilding it properly

When I learned Flutter, it seemed much better for the kind of app I was building.

Rather than just replace colori's technology, I decided to make a new product: Iro-Iro.

The first Flutter release, Iro-Iro 1.0.0, came out in January 2021. It had a new visual style but kept most of the core game.

The puzzles, packs, tile swapping, timer, hints, and star-based scoring all stayed.

  1. January 2021

    Iro-Iro 1.0.0, Flutter rewrite

Iro-Iro 1.0.0 puzzle on a phone screen: pastel rounded tiles with timer above and a control bar with hint and restart buttons below
The Flutter release: rounded tiles and soft backgrounds.
Iro-Iro 1.0.0 puzzle pack screen on a phone screen: a grid of numbered puzzles with star ratings, progress bars for completed puzzles and total stars
Puzzle packs with star-based scoring.

04

The same game, evolving

Iro-Iro has had several visual updates, but its main interaction has stayed the same.

v1 — 2014. The original colori interface: simple, practical, and focused almost entirely on the coloured tiles.

v2 — 2021. A more expressive visual style, with rounded tiles, soft backgrounds, and a stronger overall interface.

v3 — 2025. A cleaner, more structured UI with a clearer information hierarchy and dedicated game controls.

v4 — upcoming. A more playful and game-like experience, with depth, animation, and more visual character, while keeping the calm feel.

The core mechanic stayed the same across all four versions.

The original colori puzzle on a phone screen: eight brown, green and yellow circles arranged in a ring
D1: a circular puzzle arrangement.
Iro-Iro 1.0.0 puzzle on a phone screen: pastel rounded tiles with timer above and a control bar below
D2: rounded tiles and soft backgrounds.
Iro-Iro Puzzle 72 on a phone screen: flat rounded tiles with time and move pills above and a blue control bar below
D3: cleaner UI with stronger hierarchy.
The current Iro-Iro puzzle on a phone screen: rounded magenta, green and yellow tiles in a T-shaped arrangement with time and move counters
D4: depth, animation and more visual character.

05

Designing calm

From the start, I wanted Iro-Iro to feel calm and relaxing, not competitive or hard on the eyes.

Colour is the main focus, so the interface stays quiet around it: soft backgrounds, plenty of space, and simple UI.

With the latest redesign, I'm taking the game further while keeping that feeling. I'm adding depth, animation, and playful details while keeping the experience light and peaceful.

06

Making 600 puzzles

A puzzle game needs content. Making hundreds of puzzles by hand isn't practical.

I've made about 600 puzzles using an algorithmic generation process as a starting point. The generator creates candidate layouts based on puzzle size and the relationships between colours. I then review, adjust, and choose the final puzzles by hand.

The algorithm cuts down on repeated work, but each final puzzle still needs human judgement. I decide if it's interesting, solvable, and enjoyable.

Puzzle generation pipelineFour steps from top to bottom: generator, candidate puzzles, manual review and adjustments, final puzzle.generatorcandidate puzzlesmanual reviewand adjustmentsfinal puzzle
Fig. — the puzzle pipeline.
A current Iro-Iro puzzle on a phone screen: green and pink rounded tiles in a wide U-shaped arrangement
Different shapes: a wide U-shaped arrangement.
A current Iro-Iro puzzle on a phone screen: purple and blue rounded tiles in a compact four-by-four grid
Different difficulties: a compact four-by-four grid.

07

Built through iteration

Most testing has been simple: I played the game a lot and asked friends and family to play it. I used their feedback to find confusing interactions and things to improve.

Over time, the technology changed from native → Unity → Flutter, while the game stayed recognisable.

That continuity is what interests me about Iro-Iro. This small idea has let me explore product design, game design, visual design, algorithms, and cross-platform development many times.

  1. 2014

    colori, native iOS and Android

  2. 2018

    Unity, cross-platform rebuild

  3. 2021 — present

    Iro-Iro, Flutter

08

Iro-Iro today

Iro-Iro 3.0.0 is what's next.

The core game is still the same: sort the colours, find the gradient, keep moving.

What's changing is how it feels to play.

App page