All work

Interaction design · Camera-based games · 2025

Designing play for pediatric therapy

Two camera-based movement games that turn repetitive therapy exercises into play.

What if a therapy exercise felt like a game?

Role
Research, design, prototyping
Timeline
Aug–Dec 2025
Team
One team game, one solo
Tools
p5.js, ml5.js (PoseNet, bodyPose), OpenProcessing

in short

I worked on two games that use a webcam to turn pediatric therapy exercises into play. The Floor Is Lava was a team build: hold a pose and the lava stays down. Rhythm Gait Trainer was my own: every correct side-step changes the picture on screen. Both went from a persona to a storyboard, journey map and working prototype.

Why play

Repetitive exercises are hard on young patients. As I wrote in my brief, they “get easily bored, are not very motivated, and feel anxious in clinical environments.” Both games try to make the movement itself the fun part.

The Floor Is Lava

Team of four. Our team started from a case study of a child with cerebral palsy in aquatic therapy, where the water makes low-impact balance work easier and more fun. The challenge was to keep that playfulness on dry land. We adapted the case into a synthesized persona, Leo, 8, who loves games, bright visuals and rewards. Then we scored our ideas in a decision matrix for balance, stability, strength, fun and gamification. Floor Is Lava came out on top. I wrote our technology section and worked on the prototype code in p5.js and ml5.js.

The plan started big: random lava spots, a balance pad, sound effects and reward animations. In the build we narrowed it to one “arms up” pose, because that’s what PoseNet could detect reliably. Hold the pose and the lava stays low; slip and it rises. The game still shows other prompts, like “T-pose,” but only checks for arms up.

Fig. 1The working prototype: start, hold the pose, game over.

“I realized that technical limitations are the very factors that shape the overall design decisions.”

Rhythm Gait Trainer

Solo. My brief was a fun way to work on gait patterns. I designed for a synthesized persona, Alex, 7: a webcam watches for side-steps, and every correct alternating step instantly changes the image on screen. The goal was practice that happens out of curiosity, without someone constantly saying what to do next.

I mapped it as a loop of muscle activation, visual feedback, cause-and-effect learning and motor control. Then I made a storyboard, a journey map and a service blueprint that separates what the child does, what the screen shows, what the code processes and what the therapist provides.

Fig. 2The OpenProcessing prototype, with score and streak counters. Every correct step changes the photo; the backgrounds are views of Tehran.

My first version used the A and L keys as stand-ins for steps, with a beat that speeds up as the streak grows. Then I moved it to the webcam: a mentor helped switch the tracking to the hips with ml5 bodyPose, and I finished the game from there. I also named a limitation in my own design: fixed movement thresholds could exclude some body sizes or mobility levels. My next step would be different thresholds for different mobility levels.

What I learned

Personas aren’t just imaginary profiles. They decided our visual feedback, rewards and how user-friendly the interaction should be. And iteration isn’t a sign of failure but a necessary part of the process.

These are early prototypes. Neither was tested with children or clinically evaluated, so any benefits are intended, not measured.