Inspiration
With the COVID-19 outbreak, people are forced to stay indoors to maintain social distancing. This means many therapists offices are closed or overloaded with other cases. However, many people may be going through strenuous circumstances and need emotional support. This is especially the case for front-line healthcare professionals who battle COVID-19 each day, and may be left traumatized by its impacts. A majority of people do not have a place to talk through their problems due to the restrictions COVID-19 has placed on our lives.
What it does
We have built a web application that allows users to connect with other users facing similar situations through video, voice, and text chat to vent and discuss their struggles. People can develop meaningful social connections while in quarantine and learn that they are not alone in their struggle — thousands of people may be facing the same exact problem.
How we built it
The website front-end was built using Vue.js, an open-source JavaScript framework, similar to React. The website back-end server was built with Express. The user data is managed with MongoDB Atlas and the communication, such as video calling, was managed using PeerJS, an open source library that handles WebRTC socket connections.
Challenges we ran into
We intended to use React to build our website, as that is what we are most familiar with, however, some packages in React seem to be having some issues so we were unable to use it. Instead, we used Vue.js, which was new to all of us so we had to learn as we built the project. The PeerJS library was also rather difficult to use, as the documentation was not fully sufficient and there were few examples to learn from. Merging the front-end and back-end framework for the video calling page was especially difficult because of its complexity and our lack of familiarity with Vue.js.
Accomplishments that we're proud of
We are proud to have built a working website that successfully matches and connects users to others automatically. The front-end design is very elegant and was built with an unfamiliar framework. We were also able to implement both the video calling feature and the chat feature using PeerJS, which was rather difficult to work with.
What we learned
We learned how to use Vue.js, the PeerJS library, and the integration of these systems. We also learned to bring out the strength of each team member to maximize our efficiency and bring together the team as a whole.
What's next for talk:now
The matching algorithm could be improved to handle people dealing with multiple problems or also to match people based on their “feeling” description, which would require Natural Language Processing. We could also allow users to engage in one-on-one conversation as the program currently allows, or let them join a group. This could allow many people facing similar problems to all talk about their experiences together, similar to support groups.

Log in or sign up for Devpost to join the conversation.