• Social media can be a breeding ground for nefarious actors promoting hate and toxicity at the expense of other users, who are sadly subjected to this content. For users who want to avoid toxic content online, we need a mechanism for identifying such content and alerting users to its presence. That's where ToxBlocker comes in.

What it does

  • ToxBlocker is a tool that uses machine learning to generate toxicity scores for social media content. It proactively protects the mental health of users by giving them the power to decide what content they want to read, and what content they want to avoid.

How I built it

  • The model is built in Python, using Keras and the training data came from Kaggle.
  • The model architecture is an LSTM, which is a type of Recurrent Neural Network that captures spatial patterns in sequences (in this case sequences of words embedded as vectors).
  • The front end is built in JavaScript, Flask, and HTML.

Challenges I ran into

  • Time constraints were tight to find training data, process it, train and tune a model, deploy it, and create a nice interface for users to interact with and reap the benefits of the model.

Accomplishments that I'm proud of

  • Designing a tool that empowers users to take control of the content that they consume and increases awareness of toxic content online.
  • Developing a machine learning model using natural language processing and deploying it with a user-friendly interface.
  • Designing for an important issue with mental health implications and clear social impact.
  • Training a model that has enterprise value, and could be marketed to social media companies as a tool to give their users a better experience.

What I learned

  • The development process, from initial idea to finished product, was a long and windy one, with many challenges, but a steady focus on the end goal was critical to keeping the project moving in the right direction and delivering a finished product in the end.

What's next for ToxBlocker

  • Expand the tool to alert users to toxicity on a series of platforms or websites.
  • Expand the tool to also evaluate toxicity of non-textual content, like images, audio, video, etc.
  • Develop more complex models to label content not just with a toxicity score, but also with information about the type of content, so that users can look out for particular types of toxic content that may be specifically related to a sensitive issue or topic.

Built With

Share this project: