Case 07 · TinyDerby

A game in just one week

Aim, charge, release. A whole game built in a week, with every decision written down as it was made.

Role
Design, art direction, engineering
When
Aug 2026 · in development
Where
iOS · Android · Unity

Challenge

Reduce football to a single gesture, and find out in days rather than months whether it still holds up on the twentieth attempt.

Approach

Lock the gesture first, design the screens before building them, let bots play thousands of matches to balance it, and write every decision down as it is taken.

Result

On TestFlight within days — and a scoreline that read 0-0 every match, because the app around the game wiped the score it had just recorded.

88automated checks green
13dated builds in four days
17+decisions logged with their consequence
The TinyDerby logo.
A TinyDerby match in progress.The TinyDerby missions screen.
The TinyDerby arena, rendered as a toy pitch with its parts laid out beside it.

What it is

The short version

Aim, charge, release. TinyDerby is football reduced to one gesture, with the whole product — missions, ladder, tournaments, stadiums — built around whether that gesture stays interesting on the twentieth attempt.

It is pre-launch, so there is no audience number to quote. What it has instead is a complete paper trail: every decision dated, with its consequence and the decision it replaced.

Process

How it was built

  1. 01

    Lock the gesture first

    Aim-and-charge was chosen and then defended against several better-sounding alternatives, each recorded with why it lost.

  2. 02

    Design the screens before building them

    The whole app was designed as boards first — navigation, missions, ladder, tournaments, stadiums — rather than growing out of the prototype.

  3. 03

    Let bots play it thousands of times

    Balance came out of thousands of automated matches instead of out of taste.

  4. 04

    Write the decision down when you make it

    Dated, with its consequence and what it replaced. That is what makes a fast sprint reviewable instead of a blur.

Outcome

Where it landed

On TestFlight and still moving. The bug worth keeping: every match reported 0-0, because the app around the game restarted the round during the goal celebration and wiped the score it had just recorded.

Lesson

What it cost me to learn

A game can be right in the engine and wrong in the app around it. Everything stayed green the whole time the scoreline was a lie.