Inspiration
TheraFit was born out of the need for a more accessible, personalized, and interactive way to approach physical therapy. Many people struggle to find the right exercises for their specific pain or injury, and often don’t have the support they need during their recovery journey. We wanted to create an app that would bridge that gap by offering a tailored workout experience powered by AI, with the guidance and feedback needed to support effective recovery.
What it does
TheraFit is an AI-driven physical therapy coach designed to help users with strain, injuries, and general physical recovery. The app listens to the user’s pain points and recommends workouts based on their specific needs. Using a voice interface, it walks users through personalized, timed exercises, and collects feedback after each session to track progress and make adjustments. The workouts can be saved and accessed later, making it easy for users to continue their recovery journey over time.
How we built it
We built TheraFit using the MERN stack, leveraging MongoDB for database storage, React for the front-end interface, Express to handle backend operations, and JavaScript to tie it all together. The app uses a RAG (Retrieval-Augmented Generation) model trained on Kaggle datasets to deliver personalized, effective workout recommendations. Voice recognition and timers were integrated to provide a more immersive experience, allowing real-time interaction. The app is designed for scalability and responsiveness, utilizing the full power of the MERN stack to ensure smooth user experiences and efficient data processing.
Challenges we ran into
Integration: One of the major challenges was integrating all the components (MERN stack, AI model, voice commands) into a seamless experience. Ensuring smooth communication between the front-end and back-end, along with the AI-powered features, required extensive debugging and testing.
Voice-to-text: Implementing voice recognition in real-time to convert user input into actionable data was tricky. We had to ensure the app could accurately interpret different speech patterns and handle background noise to offer a smooth and responsive experience.
Credits/Tokens: Managing the usage of external APIs for processing and text generation posed a challenge, especially with the reliance on credits and tokens. Optimizing the app’s performance while staying within the limits of these resources was a key hurdle.
Deciding between RAG and fine-tuning: We had to choose between using a pre-trained RAG model or fine-tuning an existing model for more specialized recommendations. This decision impacted both the app's accuracy and the complexity of training and deployment, and we had to evaluate the trade-offs in terms of model performance and resource usage.
Accomplishments that we're proud of
One of the biggest accomplishments we’re proud of is that this project was our first time working with the MERN stack, and we managed to build a fully functional, end-to-end application. Navigating through MongoDB, Express, React, and Node.js was a new experience for some of us, and we’re incredibly proud of how we learned and applied it to bring TheraFit to life. Authentication was especially challenging as it was one of our first projects that required secure user login, sign-ups, and session management. Getting it right was critical to ensuring users could track their recovery sessions and safely interact with the app.
Another significant milestone was the integration of Python, which we used to handle our AI model, with the JavaScript backend. This integration was something none of us had done before, and it required a deep understanding of both ecosystems to make them work together. Ensuring smooth data flow between the two technologies was a real technical feat. By combining these technologies, we were able to deliver real-time, personalized workout recommendations powered by AI, all while keeping the user experience intuitive and responsive.
Overall, the completion of this project, from concept to deployment, is a huge accomplishment. We’ve built something that not only works but also provides real value to users—helping them recover and manage pain through a seamless, tech-powered experience. This was our first time building an application that was ready for real-world use, and we’ve learned a lot along the way.
What we learned
Throughout the development of TheraFit, we gained valuable experience in both technical and practical aspects of building a full-stack application. One of the key lessons was the importance of understanding how the components of the MERN stack work together. We learned how to integrate MongoDB for data storage, use Express for backend logic, and build a responsive user interface with React. This helped us get a deeper understanding of how modern web applications are structured and how data flows seamlessly between the front-end and back-end.
We also learned the intricacies of working with authentication and session management, something that was new to many of us. Ensuring secure logins and handling user sessions efficiently was a critical part of the project, and we now have a much better understanding of how to implement secure authentication in future projects.
One of the most important things we learned was how to integrate Python with a JavaScript backend. Combining two different ecosystems required a deeper dive into how to manage inter-process communication, APIs, and the best practices for integrating machine learning models with web applications. This integration also taught us about managing resources and optimizing performance when dealing with complex models.
On the AI side, we learned how to work with a RAG model and the trade-offs involved in using pre-trained models versus fine-tuning. It was an important learning experience in understanding how to balance accuracy, speed, and the computational cost of running these models.
Finally, the project taught us about real-world application development—how to prioritize features, optimize user experience, and solve practical problems. We also learned how to manage time effectively and collaborate in a team, ensuring that each part of the project came together into a cohesive product.
What's next for TheraFit
Moving forward, we plan to enhance the user experience by adding visual guides to the chat feature. This will include images or illustrations that demonstrate how to perform each exercise, providing users with clear, visual instructions alongside the AI-generated voice guidance. These visual cues will make it easier for users to follow along with their workouts and ensure they are performing exercises correctly. Additionally, we’ll continue to refine the AI model, expand its capabilities, and integrate more advanced features such as injury recovery tracking, wearables support, and progress analytics.
Built With
- express.js
- langchain
- mongodb
- node.js
- openai
- python
- react
- tailwind
Log in or sign up for Devpost to join the conversation.