Inspiration
I built RecoverPath because concussion recovery can be difficult to keep track of from day to day. Symptoms can improve, return or get worse depending on things like sleep, screen time, activity, stress, and other factors. It can also be difficult to remember all of those changes when it is time to speak with a healthcare professional.
I wanted to build one place where someone recovering from a concussion, a caregiver, or a healthcare professional could have a clearer picture of what has been happening over time.
What it does
RecoverPath lets users record daily symptoms such as headaches, dizziness, sleep quality, concentration, screen tolerance, and activity tolerance. Users can also add their own symptoms, record notes and possible triggers, keep track of daily routines, and save information from doctor visits.
The application compares check-ins over time and uses a Random Forest machine-learning model to classify recovery patterns. It also shows symptom burden, changes between check-ins, possible recurring triggers, and a recovery timeline.
Users can view daily, weekly, and monthly changes and use Recovery History to choose a specific day, month, and year and retrieve the information recorded for that date.
Doctor visits can also be recorded, including the healthcare provider, facility, reason for the visit, tests, medications, recommendations or restrictions, follow-up appointments, and additional notes.
I deliberately kept the safety system separate from the machine-learning model. If someone reports a sudden, severe, or significantly worsening change, RecoverPath does not allow the ML model to decide whether that person is experiencing a medical emergency. Instead, separate safety rules provide a warning to seek appropriate professional medical care.
RecoverPath is not a diagnostic tool and does not replace professional medical care.
How I built it
I built RecoverPath as a Flask web application in Python.
The machine-learning component uses scikit-learn and a Random Forest classifier. For this prototype, the model is trained on synthetic demonstration data rather than real patient medical records.
The frontend is built with HTML, CSS, and JavaScript, with Chart.js used to visualize recovery history. I built features for symptom tracking, custom symptoms, possible triggers, routines, reminders, doctor-visit records, daily, weekly and monthly comparisons, recovery timelines, and date-based recovery history reports.
I also created separate My Recovery and Explore Demo modes. My Recovery is for a person's own information, while Explore Demo contains fictional recovery information that demonstrates what RecoverPath looks like after it has been used over time. The two histories are kept separate.
I deployed the working application using Render and used GitHub for the source code and version control.
For privacy, personal recovery history is stored locally in the user's browser rather than in a shared server-side health database. When analysis is requested, the information needed for that analysis is sent to the backend, processed, and returned to the application.
Challenges I ran into
One of the biggest challenges was deciding where machine learning should and should not be used.
Because this project deals with health information, I did not want an experimental machine-learning model making emergency decisions. I separated pattern analysis from safety logic so that the model can help identify changes without being presented as a medical authority.
Data storage was another challenge. A simple server-side approach would have created privacy problems because different users could potentially share the same stored history. I changed the architecture so recovery history belongs to the user's browser instead.
I also had to make sure that missing symptom information was not silently replaced with invented values just to satisfy the model.
Accomplishments that I'm proud of
I am proud that RecoverPath became a working application rather than only a concept.
It can record check-ins, preserve recovery history, analyze changes, visualize progress, track possible triggers, manage routines, keep records from medical appointments, and retrieve recovery information from a specific date.
I am especially proud of separating the machine-learning system from the safety system. The goal was not to make AI appear more capable than it really is, but to use it only where it can reasonably help.
What I learned
This project taught me that building AI for healthcare is not only about choosing a model. You also have to think carefully about privacy, missing information, what the model was trained on, how its output is presented, and what decisions should never be delegated to it.
I also learned that sometimes the responsible choice is to deliberately limit what AI is allowed to do.
What's next for RecoverPath
The current machine-learning model uses synthetic demonstration data, so an important future step would be working with appropriate healthcare and concussion-recovery experts to evaluate the approach before considering any real clinical use.
I would also like to improve secure data portability so users can choose to export or share their recovery history, improve accessibility, expand the recovery insights, and continue developing tools that make follow-up conversations with healthcare professionals easier.
The long-term goal is to make RecoverPath a useful bridge between what happens during everyday recovery and the limited snapshot a healthcare professional sees during an appointment.
Built With
- chart.js
- css
- flask
- github
- html
- javascript
- python
- randomforest
- render
- scikit-learn
Log in or sign up for Devpost to join the conversation.