Inspiration

Almost a year ago, reporter Kurt Eichenwald was the victim of a potentially deadly attack. Knowing that the journalist suffered from epilepsy, alt-right Twitter users tweeted animated strobe GIFs at him, in an effort to trigger an epileptic seizure. Prosecutors believe that Eichenwald was chosen due his Jewish descent and his critical view of Donald Trump.

Twitter user attacks reporter Kurt Eichenwald

While the Internet has revolutionized communication and various other functions of our society, the relative freedom and anonymity on the web often inspires questionable and occasionally dangerous content. Rather than relying on social media companies and other tech giants, to police content and cater to the various needs of users, we decided to build pro.tech.

What it does

pro.tech is a browser extension that utilizes deep learning to identify user-defined visually malicious images and GIFs. We allow users to toggle filters, and use sophisticated deep learning technologies to identify:

  • GIFs that may potentially trigger an epileptic seizures
  • images/GIFs that may have content that you'd like to avoid (e.g., spiders, rats, Donald Trump...etc.)
  • images/GIFs that may contain nudity

Select your content blocking filters

We also use Microsoft's Cognitive Services API to caption blocked images and ensure that your browser experience is hindered as little as possible.

Example of blocked content

How I built it

The extension itself was built in vanilla Javascript with the web extensions API, allowing it to run in Chrome, Edge, Firefox and Opera.

The server-side functionality is built with Python and the Tornado framework. Due to the environment-related difficulties associated with deep learning models, we're hosting servers on both Microft Azure and AWS.

We're identify GIFs that may trigger epileptic seizures by calculating the L2-norm between subsequent frames in the GIF and using medically-inspired heuristics to determine whether a GIF can be potentially dangerous.

For image tagging, we are using a pre-trained VGG-16 model in PyTorch as well as the Microft Cognitive Services API.

To keep track of analytics, we utilize stdlib to calculate and record metrics pertaining to the effectiveness of our extension.

We also use Microsoft's Cognitive Services API to caption blocked images and ensure that your browser experience is hindered as little as possible.

What's next for pro.tech

We also use Microsoft's Cognitive Services API to caption blocked images and ensure that your browser experience is hindered as little as possible. We will also extend our content blocking algorithms beyond images and GIFs, potentially to videos and even live streams.

It is our hope that pro.tech will enable users to browse the web with a restored sense of safety. When the content gets questionable, we will pro.tech.

Built With

  • python
  • tornado
  • deep-learning
  • javascript
  • web-extensions
  • stdlib
  • microsoft-cognitive
  • pytorch
  • caffe
  • image-captioning
  • image-tagging
  • content-aware-filtering
Share this project:
×

Updates