We found that one of the more prevalent patterns of internet harassment is for someone to be the target of an angry mob. In such a situation, it is difficult (if not impossible) to avoid your harassers without locking down your account. Because we didn't want people's online experiences to be held hostage by a by an angry mob, we developed a tool for Twitter users that allows them to easily obtain a list of their potential harassers/abusers, which they can import to their blocked users list in seconds.
What it does
By tweeting "subscribe" to @HarassNC, a Twitter user can subscribe to our service. Upon subscribing, we'll scan the tweets that mention them and identify the users we believe are using abusive or otherwise harassing language. The subscribed user will receive a link to a .csv file that contains user ids of these potential abusers, which they can easily import to Twitter in order to instantly block a large group of users (when we give subscribers their list of harassers, we give them step-by step instructions describing how to import the .csv file into their block list). Additionally, we send out replies to identified harassers, letting them know that we have identified their tweets as potentially harassing. In our tweets to potential harassers, we encourage them to carefully consider the language they use online.
How we built it
We used the Twitter4J package to interact with the @harassNc twitter account, which served as the user interface of our software. Our Kotlin and Java project then stored files on Amazon web services, and then we again used Twitter4J to send users the links to their files.
Challenges we ran into
We couldn't automatically flag tweets for harassment using the Twitter API, so we had to pivot to using other anti-harassment methods. We couldn't contact users by direct message due to Twitter's default privacy settings. As a result, we had to switch over to using standard "@ replies" on Twitter. Rate limits on twitter prevent us from mass-monitoring all tweets that are sent and flagging potential harassment before the person that is harassed even sees it. We had to find a way to deliver the list of harassers to subscribers. Although we were initially hesitant to offer them a simple download link (as we thought it would appear "sketchy" to our users), what we eventually decided was that this solution would work, as we'd only be offering these links to subscribers who are already familiar with our service.
Accomplishments that we're proud of
Making Twitter a bit less of an angry place.
What we learned
We learned a lot about Heron, despite eventually scrapping it from our program. We became familiar with the Twitter4J library. It was some of our team members' first times using IntelliJ and gradle.
What's next for HarassNC
We want to improve harassment detection using sentiment analysis.