Andrew testing out our software.
We spent a lot of time in ideation think of a challenge that could confer benefits to those around us. As we were discussing some problems that we faced, we eventually turned towards issues of health. One of our teammate's siblings is currently going through physical therapy for knee rehab and one of our teammates spent some time over the summer going through physical therapy for an ankle injury. There was a clear frustration towards the physical therapy process and we identified 3 issues: (1) too costly, (2) challenging to schedule, and (3) difficult to do on your own.
We had the idea to use some sort of smart watch or smart device that tracks movement to help make physical therapy cheaper, more accessible, and more fun!
What it does
Our program turns physical therapy into a fun game. Using a MYO armband and your computer, you can go through specific motions and our software will track your motion while providing instructions on the screen.
Disclaimer: The treatments we used are to demonstrate the potential of our solution for medical professionals to create treatments. These are not prescribed treatments and none of us are doctors.
How We built it
Initially, we wanted to build this out for smartwatches. However, there were insurmountable obstacles down this path, which we will detail later, so we pivoted the MYO armband. We initially built our solution in C++ (as the API itself was written in C++), however, this was incompatible with our end goal. Therefore, we switched to a python wrapper of the API and re-implemented our solution and used the GameBox library to complete the gamefication.
Challenges We ran into
The first challenge we ran into was which device to use. We initially wanted to use a Fitbit, however, the dev tools weren't compatible with the one we had. We then switched over to a Pebble smartwatch, built out an implementation, however, we couldn't port the app to the smartwatch nor link it to a website. Therefore, we finally switched the MYO armband.
The API of the MYO armband was in C++ which posed an issue of interfacing our code with other libraries and websites. We then switched to the python wrapper for the API which took a significant amount of time. The GameBox initially posed an issue of multithreading which we were able to resolve by creating a workaround.
Accomplishments that We're proud of
We are very proud of Andrew who was able to crack many of the challenges we faced for the MYO device. We are very proud of Michael for building out a web server and adding reminder text functionality. We are proud of Rohit for working out the pebble watch implementation despite it not ultimately being used at this stage.
This is also our first time feeling comfortable working with multiple APIs and we fill a strong sense of satisfaction for being able to work out the kinks. Moreover, we are proud that our product is directly applicable and can be used in actual medical practice (the exercises we built in are based on a shoulder recovery routine one of our members used when they were younger).
_ Disclaimer: The treatments we used are to demonstrate the potential of our solution for medical professionals to create treatments. These are not prescribed treatments and none of us are doctors. _
What I learned
We learned: how to interact with MYO's API, how to interact with Pebble's API, how to interact with amazon web services, how to interact with twilio's API, how to interact with DJango, what a wrapper is, how to use GameBox, and this was our first start to end build.
What's next for Virtual Therapy
We plan on building a feature that sends the stored data to physicians. We also hope to bring this to the University of Virginia hospital to work on incporating this into standard medical practice.