According to statistics gathered by the Canadian Mental Health Association, more than 1 in 5 Canadians will have suffered from some form of mental health problem or illness. Mental health is becoming such an increasingly bigger problem in Canada that by age 40, 50% of the population will have had, or have suffered from, some form of mental illness. However, accessing resources to treat mental health can be difficult, and given onsets of mental health issues can suddenly occur at any time, this can make receiving treatment challenging in emergency situations (e.g. anxiety/panic attacks).
What it does
mConnect provides those in distress with the ability to quickly access mental health resources that assist you in your times of need. mConnect queries the user for their current symptoms, which then attempts to provide an appropriate mental health resource given their responses.
How we built it
mConnect is a mobile-first design app, to focus on our initiative to make mental health resources quickly and easily accessible to all. The app is built using React Native to serve our front-end user interface, as well as provide our application with a back-end service. To host our external services (i.e. database, media storage), we utilized Firebase for its Cloud Firestore and Storage services.
Challenges we ran into
Handling of media (audio, video) within React Native: This was one of our most challenging issues, as React Native is not exactly clear on how developers should handle and serve media content to end users. The lack of clarity from the docs meant assuming that an external package dependency would aid us, when it was simpler to serve the media content via more traditional HTML5 means. On the topic of dependencies...
React Native dependencies: In particular, this is a result of how React Native of how it runs in a different environment when compared to a traditional Node.js runtime environment. This led to us using Node packages that were, in reality, incompatible with React Native.
Creating a simple, cohesive UX on a mobile platform.
Accomplishments that we're proud of
Potentially finishing our hack - you'll have to judge us to find out if this is true!
Probably finishing our hack?
Creating a piece of technology that has the potential to affect genuine social good.
What we learned
If you really care about something, small technological hurdles should not stop you from achieving it. The Fireside chat with Chamath Palihapitiya had a profound impact on all of us - that if we have a genuine cause that we wish to pursue and truly care about, the small hurdles we encounter along the way to make something should not impede us in our pursuit. Instead, it should be used to fuel our desire to make it a reality. This project was originally born out of a dinner conversation months ago amongst us as friends, and when we realized the potential impact that this could have, we decided to make it a reality. The challenges that Chamath reminded us of in that talk help to drive our pursuit to see this through to the end, no matter what came our way.
Dependencies can be a double-edged sword. They can either help you fill crucial gaps in a framework, or totally stab you in the back. The most important bit we took away from this was the aspect that a framework lacking a specific tool is not necessarily solved by an external library. Sometimes, a much simpler solution can be found embedded within the framework you're working with, while remaining elusively unclear in its respective documentation.
What's next for mConnect
At the very minimum, mConnect is meant to serve as a stepping stone for future innovation and alternate approaches to mental health resources. Whether this project is continued upon by the current team, or expanded upon by another team for a different application, the goal of this project was to have a positive impact. We believe that mConnect has not only served as an attempt at innovation, but the exploration of mental health as a concept to better inform us of how different people see and experience the world around us.
Additionally, we wish to have users provide feedback after the resource has been used by them, providing the chance to influence the real world accuracy and ranking of the resource served.