mySafeSpace

Messaging WebApp for for Mental Health and Digital Citizenship


About

myChat is an instant messaging web-app that promotes mental health and digital citizenship. Users simply register a new account that is secured with a 256-bit encryption algorithm.

Try it here: http://mysafespace.herokuapp.com/

Submission to Auth0 Hackathon for category of connecitivity

How it works

Safer Environment: Perspective API used to determine if a message contains potentially toxic, insulting, racially insensitive, threatening, or sexually explicit content in real-time. If such a message is detected, user is prompted with a warning and short timeout to re-think their message.

  • Combat effects of cyberbullying and harrassment
  • Focus on mental health
  • Improve conversations and community connection with more welcoming environment for all ages
  • Grow as a digital citizen

Data Analytics: Message sentiment is also analyzed over time using machine learning and displayed in an intuitive dashboard UI. Weekly and daily breakdowns are available for both message sentiment and message content so users can gauge their mood and digital citizenship over time.

It comes filled with features including a wide selection of cartoon avatars, the ability to add friends, create a social media profile, and create channels. The webapp is optimized for desktop and mobile devices

Inspiration

With the rapid growth of the internet in recent years, has come greater connectivity between people all over the world. However, there is always the concern of digital safety when it comes to things like cyberbullying, harassment and predators online.

As the internet begins to play a larger role in our lives, it has become a medium for us to express our feelings and personal life. Especially with COVID-19 and social distancing, there is a greater need for online connectivity. A goal of this project was to use technology to improve conversations and to better understand our feelings and emotions.

Tech Stack & What I Used

  • Framework: Flask
  • Languages: Python, Javascript, HTML/CSS/Jinja2, SQL
  • Messaging: Socket-IO
  • Database: Postgres
  • Deployment: Heroku
  • Machine Learning: NLTK, pandas, numpy, scikit-learn
  • API: Perspective API, Google Cloud

How to use it

Simply visit mysafespace.herokuapp.com for live version

Mobile Users: Add to home screen to view in fullscreen. Note it is not yet properly optimized for mobile.

Since this is a prototype, if there are any bugs please contact me for fixes.

For local deployment:

# Clone repo
$ git clone https://github.com/AndyKChen/myChat.git

# Install all dependencies
$ pip install -r requirements.txt

# Setup database using a tool such as adminer and get the credentials

# Set Environment Variables
$ SET DATABASE_URL = "your database"
$ SET SECRET = "your secret key"
$ SET FLASK_APP = app.py
$ SET API_KEY = "api key from perspectiveAPI"

# Run
$ python app.py

# Go to 127.0.0.1:5000 on your web browser.

Accomplishments that I'm proud of

  • Although it is a protoype, there are a wide range of basic features found in popular messaging platforms
  • Succesful usage of API to classify content of user messages
  • Timeout function and warning popup
  • Dashboard UI with data analytics of message sentiment and content
  • Machine learning model to detect early signs of depression and give user's useful resources related to mental health

What's next for mySafeSpace

  • Security Features: Using Auth0 for two factor authentication.
  • Scaling up: As users increase, change deployment method to scale.
  • New Features: Create private invite-only groupchats, fix mobile UI, Gamerooms

Share this project:

Updates