Inspiration
RallyForLife was inspired by Table Tennis For Life, a nonprofit founded by our teammate Tanvi Desai. Tanvi’s grandfather has Parkinson’s, which made this mission personal to her and inspired her to find ways to help people living with Parkinson’s.
Through Table Tennis For Life, we have reached 2,500+ people with Parkinson’s and their caregivers and provided 85+ free 90-minute sessions. However, we realized that many people cannot attend our weekly sessions in Pleasanton. We wanted to find a way to bring the practice to them.
That inspired us to create RallyForLife, an app that helps people with Parkinson’s continue familiar table tennis movements from home.
What it does
RallyForLife lets users:
Choose forehand or backhand practice Set a repetition goal Practice movements from home See their repetition count in real time Pause and resume practice Review completed practice sessions
Users don't need a table, ball, or special sensor for our shadow drills. They only need a paddle and a webcam
How we built it
Our app uses computer vision to track the red rubber face of a table tennis paddle.
The webcam captures the paddle, and OpenCV + NumPy identify the red area and track its position. Our program divides the movement into zones. When the paddle moves from HOME → REACH → HOME, the app counts one complete repetition.
We built the project using:
Python for image processing FastAPI to connect our backend and app OpenCV + NumPy for computer vision HTML + CSS for the interface JavaScript for the camera, tracking, repetition counting, and sessions Browser storage for saving practice summaries
We also used vibe coding with ChatGPT to help us develop parts of our prototype. We tested, changed, and adapted the code ourselves to make it work for our specific idea.
Challenges we ran into
One of our biggest challenges was making the paddle tracking reliable. Lighting, camera angles, and the paddle's red face being visible can all affect tracking.
Another challenge was making sure the app only counted complete movements instead of counting every small movement as a repetition. We solved this by requiring the paddle to complete the full HOME → REACH → HOME movement.
Because this is a hackathon prototype, we also know that we need to test RallyForLife with our actual community and use their feedback to improve it.
Accomplishments that we're proud of
We are proud that we turned an idea from a real nonprofit into a working prototype in a short amount of time. We created a system that can actually track a paddle and count completed repetitions instead of just making a concept or mockup.
We are also proud that RallyForLife connects technology to a real community need. Table Tennis For Life has already reached 2,500+ people with Parkinson’s and their caregivers, and we are building on that existing impact.
Most importantly, we are proud that all three of us were able to work together, learn new technologies, and build something that could eventually help people beyond our local community.
What we learned
We learned that computer vision does not always need a complicated AI model. Our prototype uses programmed rules to identify the paddle and track its movement instead of using a trained AI model.
We also learned how important it is to design technology around the actual people who will use it. A feature might work perfectly in code but still need changes to make it easy and comfortable for a real user.
What's next for Rally For life
Our next step is to test RallyForLife with people from the Table Tennis For Life community and get their feedback. We want to learn what feels easy, what is difficult, and what features would actually be useful.
In the future, we want to improve the paddle tracking, add more exercises, make the app more accessible, and support different languages. We also want to add better progress tracking and eventually connect users with Parkinson’s communities and Table Tennis For Life sessions near them.
Our long-term goal is to take what started as an in-person program in our community and make it accessible to people with Parkinson’s around the world.
Log in or sign up for Devpost to join the conversation.