Koi Pond

An ambient pond, made for slow looking.

Role
Solo designer & developer
Context
ArtCenter College of Design
Tools
p5.js
Web Audio
Claude

Koi Pond is a place somewhere between imagination and memory: a pond in a Japanese garden, made for slow looking.

Koi drift between lily pads under moving light. Each swims on its own, and when two come close, they swim side by side. The pond asks little of you. It’s an ambient piece, a place to observe and to slow down.

A click releases a new koi into the water, and you hear it arrive. Every few minutes, rain passes. The light dims, drops ring the water and tap the lily pads, and the pond moves into another mood before it settles back into stillness, the pause the Japanese call ma.

The pond during rain: the light dims and drops ring the water around the koi and lily pads
When the rain passes.

How the pond lives

The pond is a small set of things that sense and respond to each other, each written as its own system.

KoiEach swims on its own, with a flexible spine that bends as it turns. When two come close, they're drawn together and swim side by side.
Lily padsEach pad senses an approaching koi, gently turns it away, and glows.
The wakeThe Japanese character ミ trails behind each tail, tracing movement through the water.
WaterA current with its own direction, depth and moving light. It carries the koi as they swim.
RainEvery few minutes a shower passes. The light dims, and drops ring the water and tap the lily pads.
SoundGenerated live in code: plucked notes in a Japanese scale, soft water, and a small plop for each koi released.
Seven koi varieties, from Kohaku to Chagoi
Seven varieties, from Kohaku to Chagoi.

From sketch to pond

Simple ellipse koi and lily pads on a flat blue background
The first sketch
Realistic koi with lily pads, deep water and moving light
Real koi, depth and light
The pond with sound and rain added
Sound and rain

Sit with it

Click anywhere in the pond to release a koi. Sound on.

Click anywhere to release a koi. Sound on.

Play it live →