Almost a year ago, journalist 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.

A still from the offending Tweet that triggered a seizure for journalist 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 Can It Do?

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 could potentially trigger epileptic seizures
  • Images/GIFs that contain content you'd like to avoid (e.g. spiders, rats, clowns)
  • Images/GIFs that contain nudity or are NSFW
A screenshot of the dropdown settings interface for the Chrome 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.

Screenshot of blocked content with captions.

How We 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.

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?

In the future, we hope to 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 content attacks, we pro.tech.