Inspiration behind PhysioBuddy💡

📝 Upon researching and finding out that a population as large as 2.4 billion people are in need of post-surgical rehabilitation services across the globe yet in some countries more than 50% of people who require it do not have access to them and hence don’t receive the necessary aid, we ideated PhysioBuddy. 💬 We pondered over the obstacles that a patient faces immediately after a major surgery that makes it hard for them to resume their daily activities. Not only does their pain surge from potentially chronic postoperative discomfort with the unawareness of how to relieve muscle pain but also from the rising costs of receiving necessary postsurgical care such as nurse visits and physiotherapy to help the body recover. This is especially a pain point as patients in Canada are sent home within a day after surgery with no aid except general anesthesia that wears off after 24 hours. 🌱 Our goal became clear: to fabricate a way to relieve such patients from both issues; pain and money - by making postsurgical rehabilitation more accessible and more affordable through online physiotherapy that is curated to best suit the needs for every patient.

What PhysioBuddy does 🚀

PhysioBuddy provides a way for patients to avoid the long-term negative effects of postoperative life by accelerating the slow healing process which ranges from months to years, lessening the stress that comes with demanding physical therapy that require dedication and effort, and escaping from permanent consequences such as muscle stiffness, weakness, or atrophy. PhysioBuddy does this by providing professional physiotherapist-based sets of exercises for different surgery recovery processes, incorporating a streak system to keep a log and motivate patients to persevere through the light exercises, and ensuring proper physiotherapy that is suited per patient.

We focused our efforts towards the most difficult orthopedic surgeries to recover from, more specifically, Knee Replacement Surgery. A full recovery involves healing, regaining strength, and relearning mobility patterns. This can be achieved by patients by following PhysioBuddy’s suggested sets of exercises, and implementing the instant feedback provided by PhysioBuddy that is done through analyzing the patient’s movements through a video recording of them following the exercises instructed on screen.

The process goes as follows:

  • Patient enters general information about them to serve as portfolio for their doctor visits
  • Patient selects what specific surgery they are looking to recover from
  • Amongst a set of suggested exercises recommended by PhysioBuddy, patient chooses an exercise to begin their recovery journey
  • PhysioBuddy takes their recording and analyzes their movements to provide instant feedback on areas of improvement and correct posture for repeating the exercises Patient gains a streak which motivates them to continue persevering through their journey of physical therapy

How we built it 🛠️ (link)

We started off with searching for an idea that truly aligned with our values and solved a true problem. Afterwards, we started with the UI/UX on the figma which gave us a proper layout as well as the design for our project. Our vision was slowly starting to come together.

We divided the different parts that we needed to work on and delegated tasks among ourselves. This allowed us to overcome our time zone difference barriers. While some worked on the frontend to allow the users navigate intuitively with NextJS, React, TailwindCSS, Typescript and OpenAI, some worked on the backend to capture and analyze videos with Flask, CORS, Mediapipe, Numpy and OpenCV and some worked of the database with Docker and Supabase.

We ran into multiple challenges throughout the project but through communication, we were still able to handle most of them and create a functional project with our vision coming to life.

Front-end: NextJS, React, TailwindCSS, Typescript, OpenAI
Back-end: Flask, CORS, Mediapipe, Numpy, OpenCV

Challenges we overcame at PhysioBuddy 🚧

The journey of building PhysioBuddy, our innovative online physiologist, was not without its fair share of challenges. Yet, through persistence and collaboration, we tackled each obstacle head-on and emerged stronger. Here are some hurdles we navigated:

Using OpenCV

All of our team being quite unfamiliar with openCV, implementing it to our project as the backend was one of the major issues we faced and we were receiving an error on each line of code that was written. Despite the challenges of frequently consulting the documentation and navigating through our errors, we successfully persevered and managed to get our OpenCV model working as intended.

Hosting the database

After finalizing the project topic, we embarked on designing the user interface (UI) while concurrently developing the database schema (physical model). Once we confirmed that the schema was in perfect alignment with our finalized UI design, we moved forward with setting up the local database environment using Docker. Although we encountered significant challenges with Docker and SQLAlchemy during the debugging process, we managed to successfully host the database, verify the tables on pgAdmin, and deploy the entire application within Docker. Unfortunately, we faced persistent port connection issues, and due to time constraints, we decided to stop working on the hosting process.

Accomplishments we’re proud of at PhysioBuddy 🌟

Functioning OpenCV model One of our most significant achievements was successfully developing the OpenCV model, which involved overcoming technical challenges due to unfamiliarity with the library. Through dedicated effort and problem-solving, we were able to fine-tune the model and integrate it seamlessly into our application. This allowed us to implement precise user movement tracking and provide feedback, a feature that greatly enhances the app's functionality and user experience. The process not only requires a comprehension of the overall process computer vision but also persistent troubleshooting to resolve issues, making the accomplishment all the more rewarding.

Seamless UI/UX design 🚀 Despite the limited time, we maintained consistency in our color palette, design, simplicity, and efficiency. Given that our app is intended for use by all ages, we prioritized a simple, user-friendly design and chose language that would enhance users satisfaction and overall experience while navigating the app.

What we learned through PhysioBuddy 📚

Financial Barriers Faced by Patients Worldwide Before this project, we were unaware of how much money patients need to pay for surgeries and then the greater amount of money they need to pay just to get back to their normal routines. Seeing 2.4 billion people go through this, we knew that we can try from our side to solve a section of this issue. We learned about the processes of post-surgery treatments and where digitalization could be possible so that patients worldwide are able to access recovery tools and be able to enjoy their everyday activities.

Mastering Full-Stack App Development While working on the design, the idea of the project we had to think about application stacks that we are going to use. We chose NextJs, and Flask to create our full-stack application, and OpenCV to support video/camera features. Through this process we learned about how front-end and back-end components harmonize together to create a seamless user experience. This approach equipped us with the needed skills to create a seamless, comprehensive full-stack application.

What’s next for PhysioBuddy 🚀

For this weekend, we decided to add data about the most common surgery with the recommended exercises, however, for the future, we hope to add a variety of different medical conditions and surgeries with more personalization to the user about their exercises.

A trained AI physiotherapist available at the fingertips of patients to get their urgent concerns answered when appointment with the physiologist is only able to be booked after a very long time.

Built With

Share this project:

Updates