Inspiration
Parkinson’s disease is a neurodegenerative disorder that affects movement, balance, and coordination. Recent research has highlighted the role of cerebrospinal fluid (CSF) distribution in neurological health. In Parkinson’s patients, CSF circulation can be impaired as the brain degenerates, worsening motor symptoms and cognitive decline. This inspired me to create NeuroBalance, a project that combines eye-tracking technology, interactive gameplay, and scientific motivation to explore how digital tools can be used to improve motor training and monitor neurological performance. My goal was to create an engaging way to highlight the importance of CSF health and provide a tool that could one day support patients and researchers alike.
What it does
NeuroBalance is an interactive Pong-based game controlled entirely through eye-tracking. Instead of using a keyboard or mouse, players move the paddle by shifting their gaze, allowing their eye movement to directly control the game. As the game progresses, data is collected on gaze stability, reaction times, and paddle-ball interactions. This data is then processed on the backend and presented as session results, giving insights into a user’s eye coordination and control. The app combines accessibility, fun, and potential medical relevance, acting both as a game and a proof-of-concept digital biomarker tool for Parkinson’s-related motor function.
How I built it
I built the project using a Flask backend in Python to handle data collection and API logic, and a Next.js React frontend in TypeScript to deliver a clean and responsive user interface. The game.tsx file controls the Pong game mechanics, while useWebgazer.ts integrates the WebGazer.js library for eye-tracking. The layout.tsx file ensures a consistent, minimal design across pages, and page.tsx mounts the game and app structure. Communication between the frontend and backend happens through REST endpoints in app.py, allowing results to be processed and displayed in real time. Styling was done with TailwindCSS for an aesthetic and easy-to-read interface.
Challenges I ran into
Making the eye-tracker work smoothly was difficult, as gaze data is noisy and required filtering before it could control the paddle reliably. Processing the gaze and game data into meaningful session results posed challenges, since the output needed to reflect real-world neurological insights rather than just raw numbers. The game physics would occasionally break when paddle size or ball speed was adjusted, leading to unstable gameplay that required debugging and constraint handling. Communication between frontend and backend introduced issues with syncing real-time game events with processed data, requiring retries and error handling.
Accomplishments that I was proud of
Successfully integrated eye-tracking into a functional Pong game, creating a novel way of controlling gameplay. Designed a clean, intuitive UI that feels more like a real app than a prototype. Solved technical challenges around game physics, ensuring smooth gameplay without crashes. Built a full-stack system with frontend and backend that not only entertains but also produces usable data for analysis.
What I learned
I learned how to combine frontend and backend technologies to create a cohesive application. On the technical side, I gained experience with real-time data handling, React custom hooks, and ensuring smooth user experiences even when working with noisy eye-tracking input. On the medical side, I deepened my understanding of Parkinson’s disease and how CSF distribution plays a role in neurological decline. Most importantly, I learned how to transform a scientific problem into an interactive application that bridges health and technology.
What's next for NeuroBalance
Making the eye-tracker work smoothly was difficult, as gaze data is noisy and required filtering before it could control the paddle reliably. Processing the gaze and game data into meaningful session results posed challenges, since the output needed to reflect real-world neurological insights rather than just raw numbers. The game physics would occasionally break when paddle size or ball speed was adjusted, leading to unstable gameplay that required debugging and constraint handling. Communication between frontend and backend introduced issues with syncing real-time game events with processed data, requiring retries and error handling.
Sources Used
Parkinson's Disease Parkinson’s disease patients show impaired corrective grasp control and eye-hand coupling when reaching to grasp virtual objects
Log in or sign up for Devpost to join the conversation.