Inspiration
A lot of people need rehabilitation after injuries, strokes, or surgeries. But most people stop doing their home exercises after some time. Not because they don’t want to get better but because it’s boring, repetitive, and there’s no feedback. At the same time, rehab equipment can be very expensive. Not everyone can afford special devices or go to therapy every day. We thought what if therapy didn’t feel like therapy? What if it felt like playing a racing game? And what if all you needed was a laptop and a webcam? That’s how this project started.
What it does
We built a 3D racing game that runs in the browser. But instead of using just a keyboard, you can: Steer by turning your head Accelerate by leaning forward Brake by blinking Boost by opening your mouth Use your hands to control the wheel Or even use your phone as a steering controller Everything works through your webcam or phone no special hardware needed.
We also added rehab modes where head and hand movements are tracked and turned into game controls. The idea is that small movements can be practiced in a fun way instead of repeating the same boring exercise again and again. The system adjusts to each person. During setup, you calibrate what “forward,” “left,” and “right” mean for you. Even small movements can control the car after calibration.
How we built it
Everything runs in the browser. We used: React and Vite, Three.js and React Three Fiber for 3D, Cannon for physics, MediaPipe for hand and face tracking, Web Speech API for voice commands, Socket.IO for the phone controller, Zustand for state management The webcam tracking runs locally, so no video is sent anywhere. We built custom smoothing and filtering so head movements feel stable and not shaky. Blink detection needed careful tuning so normal blinking doesn’t trigger brakes accidentally.
Challenges we ran into
Head tracking was harder than expected. Small jitters from the webcam can make the car move too much, so we had to add smoothing and deadzones. Blink detection was tricky because people blink naturally. We had to detect intentional blinks. Getting physics stable across different frame rates also took time. And mapping real-world movement to smooth steering took a lot of trial and error.
Accomplishments that we're proud of
We learned how powerful browser-based 3D can be. We learned how to combine computer vision with physics. And we realized that something simple like turning rehab into a game can make a big difference in how people experience recovery.
What we learned
We learned that building real-time tracking in the browser is harder than it looks. Small movements from the webcam can create a lot of noise, so smoothing and calibration are really important. We also learned how to connect computer vision with a 3D physics system. Making head movements feel natural inside a racing game took a lot of testing and small adjustments. Most importantly, we learned that technology feels more meaningful when it solves a real problem. Turning rehab into something interactive made the project feel bigger than just a game.
What's next for Untitled
We want to improve the rehab side of the project by adding better progress tracking and simple reports people can share with therapists. We also want to add smarter difficulty adjustments so the game slowly adapts as someone improves. On the game side, we’d like to add AI opponents and better multiplayer features. Long term, we’d love to make this something anyone recovering from an injury could open in a browser and use instantly no expensive equipment needed even if it will help 1 person to recover or feel better thats so much for us as a team to help someone.
Log in or sign up for Devpost to join the conversation.