Case study · Solo project · 2026

Drawing flowers with light.

Poi are weights on short cords that you swing in circles. With lights on them, they draw flowers in the air. I built a tool that shows how each one is made.

Try the tool

Who’s reading?

Pick one and the page folds to what matters to you. Skip it to read everything.

Context

In poi, all anyone sees is the light.

You hold a poi in each hand and swing them around you. In the dark, the lights leave trails, and some moves leave trails shaped like flowers.

What I did
All of it, from the idea to the build. I’d never written code, so I built it with an AI coding assistant.
Poi Flowers on a laptop, with the flower on the left and the controls on the right Poi Flowers on a phone, with the flower at the top and the controls underneath

The problem

The light hides the moves that make it.

Two flowers can have the same number of petals while your hands do quite different things. The guides I found were still drawings or pages of maths. Neither helped much while I was practising.

Three petals, with the poi turning against the arm.

Three petals, with the poi turning with the arm.

The goal

Show how each flower is made,
in the words spinners already use.

Approach

Spinners think in petals,
spins and timing. So the controls do too.

Every control is a choice you make with your arms, named the way you’d say it at practice. The maths sits behind a link for anyone curious.

Part 1 · Learning a flower

Get from the shape to the moves behind it.

01

Start from a flower

Someone new to poi doesn’t know which settings make a flower.

Six flowers to start from, each button drawn as its own shape. Pick one, then change it.

Six starting flowers, each button drawn as the flower it makes

02

Every control says what it does

A row of settings doesn’t teach you much on its own.

Each one explains its effect, like “the poi turns against the arm, which adds a petal”. The title names the flower you’ve made.

The flower controls, each with a line underneath saying what it does

03

Show the arms behind the light

The trail hides the hand and the cord that draw it.

Switch on the mechanics to see the hand’s circle, the arm and the cord. Switch them off to see what an audience sees.

Part 2 · Making it feel real

It has to move and glow like the real thing.

04

Slow it down, or turn the arm yourself

At full speed, a flower goes by too fast to follow.

Pause it, scrub through one circle, or drag the arm round with your mouse.

The flower paused part of the way round, with the scrubber underneath it

05

Make a pixel look like a light

If it didn’t look like a real light trail, a spinner wouldn’t recognise the move.

A black stage, trails that fade like a long exposure, and crossings that glow brighter. One hand is pink, the other white.

How I built it

I’d never written code, so I described what I wanted.

I explained each behaviour in poi terms, an AI coding assistant wrote the code, and I checked the result against what I know from spinning.

When something was off, I could say exactly why, like “that one needs another petal” or “the trail fades too fast to read”. Getting the description right was most of the work.

What I learned

What I’d keep doing.

  1. Knowing the activity was the research.Years of spinning told me which controls mattered and what to call them.
  2. Clear words got better code.The more exactly I described a move, the better the result.
  3. A small scope is why it’s finished.It does flowers and nothing else.

Next, I want other spinners to try it. So far, I’m the only one who has tested it.