
Gamified Joint Rehabilitation, Analysis and Training (GameRAT)
Timeline: 1/2024 – 3/2025
A 15-month research project for gamifying and tracking physiotherapy exercises and analyzing movement data. I worked in a four-person multidisciplinary team and was solely responsible for the project's web development.
I worked in a four-person multidisciplinary team and was solely responsible for the project's web development, the neural-network implementation, and the backend that received its training data.
- TypeScript
- React
- Vite
- Three.js
- GraphQL
- Node.js
- MongoDB
- JWT
- AES encryption
- .NET
- Unity integration
- Machine Learning
- Designed and implemented the React web platform and Node.js/GraphQL backend from scratch, including the MongoDB data model, authentication, and server infrastructure.
- Built tools for physiotherapists to manage patients, assign exercises, preview them in 3D, review performances, send messages, and collect pain-scale feedback.
- Implemented a Three.js 3D exercise editor and a movement-data pipeline that transformed Quest 3 hand-tracking data into browser-playable animation data.
More technical details
- Implemented backend APIs used by the Unity application for authentication, exercise-data exchange, and movement-data submission.
- Designed and implemented a neural network from scratch for a proof of concept investigating whether incorrect physiotherapy movement could be detected from movement data.
- Designed the neural network's training data: approximately 1,000 performances of one physiotherapy movement were collected, about half correct and half intentionally incorrect.
- Built the backend that received movement data collected from the Quest device for neural-network training. The Quest data-collection application was implemented by another team member.
- Implemented role-based access control, backend-only database access, and AES encryption for stored patient-related data. No real patient data was used in testing.
- Physiotherapists evaluated the web system in project user testing, where the system was found functional and sufficiently easy to learn.


