Submitting to Health Track

Inspiration

For many of us, we have either seen or heard of our classmates complaining about the difficulties of getting mental health therapy. Our team decided to do a bit more research and interviewed several of our classmates to learn more. We found that for many students, seeking mental health aid at Duke has been an incredibly draining and undesirable process that can take up to months. Each time they go to see a new therapist, they have to recount all of their experiences regarding their trauma or symptoms, and are often unsatisfied with the treatment from the therapists due to a misalignment of specialization or personality. As a result, we have identified the problem that the process of finding a mental health provider can be both complicated and costly for the average individual, where finding a suitable professional might take months of research, cold calling, and switching therapists.

What it does

We analyzed leading startups in the space like Talkspace and Zencare and realized that these companies lack either accessibility or personalized matching, both crucial elements that can be devastating to many individuals looking to get mental health support. That’s why we developed TheraMatch, a personalized matching platform that can virtually connect patients to therapists who are best suited for treating them. TheraMatch addresses the difficult process of finding therapists by incorporating personal user preferences of their therapists like specialization (i.e. ADHD) or hobbies. Additionally, each preference is given a sliding bar that the user can adjust to indicate the importance of the selection. The platform will then output the 5 highest scoring therapists that best match the user’s needs, and from there the user is able to virtually connect with the therapists from anywhere at a time they’re both free.

How we built it

The algorithm was inspired by the Almost-Matching Exactly algorithms for causal inference, in which we use weights for the various factors and try to find the best match for the patient. For each therapist and patient pair, we create an indicator vector of 1’s or 0’s, representing whether or not the patient’s preferences are satisfied by the therapist, then take the dot product with the patient’s weight vector, representing the importance of each factor. For each patient, we rank each therapist by this weight vector to give the output. We built this back-end algorithm in JavaScript, with the Therapist and Patient class inheriting an underlying Person class. We then connect this algorithm with a React app deployed on Heroku.

Challenges we ran into

We had no prior experience with JavaScript, so having to learn the syntax to code in JavaScript was an obstacle to overcome. We also had challenges in connecting the JavaScript code with the React app, and it was also challenging to implement all the interactive aspects of the website that we had in mind. The time limit also made it difficult to copy the design we made on Figma to the React app. In terms of the algorithm, we experienced some difficulty in finding a meaningful way to rank therapists such that it was better than random.

Accomplishments that we're proud of

Firstly, we are proud of the fact that we were able to program a functional algorithm that can generate a ranking of therapists based on various preferences of a user. Furthermore, we were able to implement the idea of a sliding bar that depicts the user’s evaluation on any given preference into the ranking calculation. Secondly, we are proud of the fact that we came up with a real solution that can improve the lives of millions affected by mental illnesses. We believe that if we were given more time, we can partner with several medical professionals to make this project a reality.

What we learned

Through our research, we learned that 1 in 5 people will experience a mental illness in a given year, and that not being able to find a suitable therapist can be an incredibly draining and damaging process. With this in mind, we also researched various startups that are currently operating in this space and observed that almost all of them are lackluster in either accessibility or personalized matching. On the developing side, we learned about how to design a nice website, how to implement it as a React app on Heroku, how to connect front-end to back-end, and how to write the back-end using JavaScript.

What's next for TheraMatch

With more time, we believe that we can make TheraMatch into a reality. We plan to add a number of additional user preferences into the program which will help the matching process be more accurate and successful. We also want to make a feedback flow system that will trigger if the user was not satisfied with their initial match. They can submit a form indicating what went wrong, and the program will then adjust their preferences based on the new information to make better matches for the next session. Lastly, we plan to partner with medical professionals who can help expand our user base and improve the matching experience for patients.

Built With

Share this project:

Updates