Inspiration

As immigrants and children of immigrants, we have consistently been exposed to the effects of racism and prejudice in our lives, specifically its toll on mental health. We wanted to create a project that addressed those core issues, and promote and push for a society founded on unity. Additionally, we wanted to show support for #BLM and LGBTQ issues through the creative medium we know best, coding! We really hope you enjoy our project, and learn more about both of us!

What it does

The messaging platform allows users to create and join chat rooms with their friends. The Perspective API determines the probability of a message being "toxic" based on deep learning. The API gives a score between 0 and 1, and if a message surpasses the 0.8 threshold (80% toxic) a pop-up appears on every other person's screen except the senders'. The pop-up reads "@USERNAME has sent a potentially toxic message, would you like to block them?" The receivers of this message are able to click "OK" or "Cancel" to either block or not block the sender, respectively. Once the sender is blocked, none of their messages will appear on the rest of the users' screens. Additionally, a motivational message appears on each of the receiver's screen stating "Congrats, you just planted a seed for your mental health." We believe people shouldn't be hesitant to surround themselves with positive people.

How we built it

We utilized Django channels and web sockets to host the web app. The backbone of the project was Google's deep learning API, Perspective API, that allowed for toxic message detection (for example racial slurs, hate speech, and other inappropriate messages). The user interface was enhanced by Google's materializecss and CSS3.

Challenges we ran into

We could not understand how to block a user once a toxic message was detected. Upon watching django tutorials and experimenting with the JavaScript and python, we decided to manipulate the data structure such that it seamlessly pushed blocked users once the 80% toxic probability threshold was surpassed.

Accomplishments that we're proud of

Showed support for causes we strongly believe in. Implemented a web app founded on WebSockets for the first time in both our experiences. Made the frontend look relatively beautiful with both of our skillsets being garbage in front end.

What we learned

WebSockets are not as easy as we thought they are. Front-end is still hard.

What's next for MentalMessaging

We will seek to continue developing on MentalMessaging to utilise Django's powerful modelling resources to allow our app to be scalable and well-built.

Built With

Share this project:

Updates