PTAI, your personal trainer powered by artificial intelligence. Our application, PTAI, bridges the gap between you and your therapy sessions for a more convenient recovery journey. During your recovery, you are expected to do exercises every day. But without proper instruction or someone there to guide you through, you might be recovering improperly, leading to more harm. We are here to support you with pose detection, we can confidently tell you and give real-time feedbacks if your forms are improper, and recording your accuracy in the long term.
As one of our teammates once injured themselves playing sports our team members learned how difficult it can be to recover from these injuries even while going through physical therapy. The physical therapy process can be often long and hard. While replacing physical trainers with machines is still not a viable option, we sought to design and build a prototype that would help during this process. One such element is the exercises given by the physical trainer to do at home. While doing these exercises doing something wrong or not understanding how to do a certain exercise can lengthen your recovery time.
What it does
Our solution is comprised of two parts, a React.js-based web dashboard, and a client-side Android app.
The Android app, powered by Kotlin & Java allows users to do their daily exercises as assigned by the personal trainer. They can view their appointments and view their progress. Through the power of Tensorflow, pose detection is a lightweight and fast way of detecting poses in real-time. Making sure you are doing each of your exercises correctly and accurately. Your accuracy store will be stored in the database, which you can find and access in our react web dashboard portal. Our backend is powered by Firebase, where authentication is handled and user data is stored. The TensorFlow model is custom-fitted in such a fashion that any exercise can be tracked, all that's needed are the recommended angles for a particular exercise for the patient.
The web portal backed by React.JS is a portal for physical therapists to view their patient's progress in real-time. The PT can view a patient's progress at any time. Some key features include exercise assignment, accuracy tracker, patient information (as given to the PT), stability tracking, and much more!
How I built it
- React.JS - Web Portal
- Java - Mobile App Development
- Kotlin - Mobile App Development
- Firebase Authentication - Authenticate PTs and Users
- TensorFlow - Pose Detection
- Bootstrap/Reactstrap - UI Library
- Firebase Firestore - Store User Pose Detection Data
- Sass - Styling
- Material UI - Android UI Framework
- Node.JS - Backend
- Adobe XD - Design
Challenges we ran into
- Developing Pose Detection for the Android App and we needed many work arounds
- Limited Knowledge of Kotlin
- UI Multithreading on Kotlin
- Updating UI as poses were made
Slowly but surely, we managed to resolve all problems.
Accomplishments that we're proud of
- Pose Detection
- Creating a native app (in Kotlin!!!)
- Using Firebase
- We are proud of overcoming our obstacles
- We were able to accomplish all functionalities
- Most of all we had fun!
What we learned!
- How to develop native Android Apps
- Math is hard
- How computer-vision based ML algorithms work
- How to make UI in XML
- & More
What's next for PT>AI (Personal Trainer AI)
- Enable PT developed exercises, (allow PTs to create their own exercises by using angles)
- Cross-platform support app
- Implement new features
- Make a more efficient Pose Detection model