Inspiration
Children and teens given movement exercises do most of them at home, and home programs fall apart: across 13 studies, 34–79% of parents of children with cerebral palsy did not keep up the home exercise program. About 1 in 345 US children has cerebral palsy; 5–6% of school-aged children have developmental coordination disorder. Games help when they are part of therapy, but without supervision the game becomes the goal and the walk becomes an afterthought. The missing piece is a therapist watching every step. We built that therapist and hid it inside a game.
What it does
A projector paints a garden on the floor in front of a walking pad. You are a zombie walking home before sunrise.
- Walk home: walk at a steady pace on the pad; the overhead camera tracks where each foot lands.
- Stomp the flowers: step onto the glowing flower in your foot's lane as it crosses the hit line.
- Each round faster: golden flowers appear and the beat quickens; the therapist or parent sets the ceiling in advance.
- Home: a spoken note from the coach, a results dashboard with the full gait review, and a note each for the player, the parent and the therapist.
A camera above the belt finds the shoes in real time. A phone at the side measures knee bend, stride length and left–right balance while you play. The AI coach speaks one short cue every 20 seconds, says out loud what went well and one thing to fix between rounds, and adapts the game—but only inside limits the therapist sets. It remembers every session (Backboard) and writes a structured gait review from numbers only after every walk (Gemini).
How we built it
- Game: Phaser 3 in the browser, art drawn in code for high contrast on a dim projector; four-corner calibration warps the game field onto the walking pad.
- Overhead camera: feet.py runs YOLO-World on a laptop to locate each shoe from above; colour marks under the field and a bright-blob fallback handle a dark room. Sends shoe positions and a preview frame to the server at 4 fps during play.
- Side camera: the phone streams video to the server via web/phone.html; gait.py pulls the frames, runs MediaPipe Pose, and sends live gait numbers (knee angle, stride, step time, left–right balance) and a final summary after each walk.
- Server: FastAPI relays camera events to the game, stores players and sessions (MongoDB Atlas or a local file offline), runs the AI therapist, and serves every page.
- AI therapist: Gemini receives numbers only, with consent. Every point in the gait review must cite a measured value; medical terms are dropped; suggestions stay inside the therapist's limits. Fixed rules answer when Gemini cannot or consent is off.
- Voice: Gemini TTS speaks the coach's lines; the browser's own voice is the fallback. The player's name is removed from anything spoken.
- Memory: Backboard keeps one assistant per player—what happened last time and what to work on—so the next session opens with that focus.
- Second look: Perceptron Mk1.5 checks pictures of the feet and lower legs: did the foot really land on the flower, are the steps steady, and a short walk report. Never a face, only with consent.
- Safety and honesty: therapist-set limits clamp everything the model proposes; wellness wording only (coordination, balance, mobility, endurance); no treadmill—the walking pad's own safety limits apply; camera video never leaves the device; the server keeps no video.
Challenges
- Getting the overhead shoe tracker to work in a dim room without coloured floor marks: we added a bright-blob fallback so the game degrades gracefully instead of failing.
- Gait measurement from a phone at the side is noisier than a lab setup. We measure what the camera can reliably see—knee angle, stride timing, left–right symmetry—and say so in every review instead of claiming millimetre precision.
- The AI coach must stay therapeutic without overstepping. We enforce this at two levels: the code checks numbers before Gemini sees them, and checks Gemini's answer before the player sees it. Every claim must cite a measurement; anything that sounds medical is stripped.
- A 150-lumen projector in a lit hall: high-contrast art on a light mat, tuned in the game's rendering code.
Accomplishments
- A full gait-measurement pipeline running on consumer hardware: a phone as a side camera, a laptop running MediaPipe and YOLO-World, a small projector, and a cardboard booth—under roughly $200 in hardware.
- A real-time AI coach that speaks in Gemini's voice, adapts difficulty within therapist limed review citing every number it mentions.
- Perceptron running as a second pair of eyes on the overhead pictures, cross-checking the game's own step scores.
- A consent-first architecture: every AI feature is off by default, gated by separate switcheptron and Backboard, with the player's name removed from anything spoken aloud.
What we learned
- Consumer MediaPipe on a phone is accurate enough for clinical-adjacent use if you measure what it can reliably see and document the limits. Honesty about measurement uncertainty is itself a feature.
- Scope creep is a real issue and we had to make sure we weren't going overboard with features
What's next
- Longitudinal tracking: the dashboard shows one session at a time; charting the gait numbers across weeks would let a therapist spot trends without a clinic visit.
- A proper family app: src/ is a design prototype today. Connect it to the game server so parents see tonight's walk on their phone without opening a browser tab.
Built With
- backboard
- fastapi
- gemini
- gemini-api
- javascript
- mediapipe
- mongodb-atlas
- phaser.js
- python
- raspberry-pi
Log in or sign up for Devpost to join the conversation.