University students during the COVID-19 pandemic have experienced some of the worst mental-health concerns in the population, as we’re separated from our friends, family and forced to study online during lockdown. We wanted to create the best platform for students to easily connect with mental-health help from university therapists or counselors.

What it does

CanWeTalk is a platform that allows students to instantly text-message a university counsellor via a university-wide number, with no app downloads required. It’s designed to be as effortless as possible to connect with a school counselor. The moment their message is sent, it is received by the counsellors who can reply instantly, making campus mental health services more convenient for all students.

How we built it

  • SMS routing is done via the Twilio API. It receives text messages and sends them to our back-end server, and vice-versa.
  • Chat rooms are built using Socket.IO API. It waits for messages to be received, and then posts them to the chat room and back to Twilio API to then respond back to the user.
  • Backend and frontend are powered via Python’s Flask Web-Framework and JavaScript. Bootstrap elements and components were used in designing a user-friendly UI

Accomplishments that we're proud of

  • Making the SMS chat work! When we were finally able to push the SMS message to our program and have it appear on chat (and vice-versa), we were proud of our work!
  • Our technology can be leveraged to improve thousands of students across Canada, who are struggling with mental health. Suicide and depression rates are currently increasing during the start of the COVID pandemic, we don’t want to lose anymore students
  • If CanWeTalk ever made it live and helped university students access mental health faster, then we would be proud to have contributed to mental health access for university students through this hackathon project!

What we learned

We had zero experience working with Twilio and Socket.IO APIs prior to this project. We have spent many, many hours trying to make our code work. If we had to do this again, we would hope to be able to mobilize the program much quicker in making the basic features work and being able to add more advanced features to our platform.

Challenges we ran into

  • The first challenge was making Twilio API work. It took us a while in order to understand how the API is best implemented and how to have our Python code fetch the incoming message and number.
  • Once we figured that out, our next challenge was to push the messages over to a chat room.
  • We played around with a few API frameworks before landing on Socket.IO. While the system is very basic, it worked for our needs.
  • Additionally, we needed to configure Flask using a linux terminal which was a different process for each of our machines, as we needed to integrate and connect Flask from our frontend to the backend

What's next for CanWeTalk

  • There are final touches we would like to finish before CanWeTalk is ready. We would like to make it easier for counselors to switch between multiple conversations.
  • Furthermore, redesigning and building this application using a JavaScript stack would be easier and more efficient than using the Python Flask framework.
  • This idea would need to be pitched to the universities and approved before they are launched. With their support, we can integrate CanWeTalk to access student information directly, while being able to securely authenticate registered students by implementing their system..
Share this project: