Start a project
Case study: interactive web development

Making a hand-drawn page
dance in sync with its music.

Yael Kempf’s interactive illustration was meant to come alive when the speaker is clicked. A code conflict stopped that. We fixed it, added new items and synced everything to the music.

Bug fixingInteraction designAudio syncNew features
Hand-drawn interactive scene with a speaker, dog, cars, desk and scaffold
Client
Yael Kempf
Industry
Illustration and art
Services
Debugging, interaction, audio sync
Stack
HTML, CSS, JavaScript
The challenge

A playful idea,
undone by conflicting code.

The page is a hand-drawn scene where objects react to the visitor. Originally, items only moved when hovered. The client wanted more: click the speaker and the whole scene dances to the music.

01 / Hover only

Motion on hover

Single items moved when hovered, but the full-scene animation never started.

02 / Click

A broken speaker

Clicking the speaker should start the music and move every item. It didn’t.

03 / Code

Conflicting scripts

Overlapping code fought itself, so the music and the movement never lined up.

04 / Growth

New items needed

The client also wanted more objects, each moving with the music.

How it works now

Five states,
one smooth rhythm.

01 / Hover

Hover any item

It moves, with or without music.

02 / Click

Click the speaker

The music starts and every item moves in time.

03 / Again

Click again

The music changes and the scene stays in sync.

04 / Stop

Music stops

All items stop the moment the music does.

05 / Restart

Play or hover

Items move again when music restarts, or when you hover.

How we fixed it

We untangled the code,
then built on it.

01 / Reproduce

See it fail

Recreated the issue to learn exactly when and why the click animation broke.

02 / Diagnose

Find the conflict

Traced the competing code that was blocking the music-driven movement.

03 / Fix

Make it cooperate

Reworked the conflicting parts so hover and music work together.

04 / Sync

Tie it to the music

Linked every item’s movement to the music, so all of them start and stop together.

05 / Extend

Add new items

Added the objects the client asked for and synced them to the music too.

06 / Test

Check every state

Tested hover, first click, repeat clicks, stopping and restarting.

What we delivered

A scene that feels
alive.

Every object is hand drawn. Our job was to make them move, in time, exactly when they should.

01 / Click to play

One click, the whole scene dances

Click the speaker and the objects around the page begin to move with the music. The effect is playful, and it finally works as the artist imagined it.

Music-drivenWhole sceneSynced
The full interactive scene
02 / The speaker

A speaker that changes the track

Click the speaker again and the music changes, with the scene staying in step. When the music stops, every item stops with it.

Track switchingClean stopRestart on click
The speaker and the dog with glasses
03 / New items

More items, all in rhythm

At the client’s request we added more objects, from the cars and palm tree to the painter on the scaffold. Each one moves in sync with the music.

Added at client’s requestSynced to music
Cars and a palm tree
Painter on a scaffold
04 / Hover

Hover still works

Visitors can still play with any object just by hovering over it, even when the music is off. Several objects also link through to the artist’s projects.

Hover effectsLinks to projects
Desk with a magazine and lamp
Rider carrying a flag
The results

It works, it’s in sync,
and it’s fun.

Interaction

Click to dance now works

The conflicting code is fixed, so clicking the speaker sets the whole scene moving.

Sync

Everything in time

Every item moves with the music and stops when it stops.

Content

More items

New objects added and synced at the client’s request.

Audio

Music that changes

Each click on the speaker switches the track.

Control

Clean start and stop

Items rest when the music stops and wake on play or hover.

Keep reading

More from
our work.

← All case studies

Have a project in mind?

Tell us what you are building and we will come back with a clear plan. No obligation.