When we started brainstorming ideas for a hack, we saw that one of the prizes was for #HackHarassment. This got us thinking about how we could reduce cyber bullying and that is when we though of Safenger. We realized that if we want to make a significant impact on the online harassment epidemic, then we have to target the source of the issue: social media sites.
What it does
Safenger pulls comments and messages that are directed at a specific user on a social media site and analyzes them to see which ones are potentially harassment. Once Safenger has determined which messages are potentially harassment, we send those messages to the iOS app to allow the user to take action in response to those messages. We decided to specifically target Twitter for our hack since they provide a solid API for us to pull direct messages and mentions for a specific user.
How we built it
We built Safenger using Swift, Node.js, and the Twitter API. We used Xcode to build the user interface and layout the groundwork for communicating with our backend. Once our backend determines the current Twitter user and has the appropriate permissions, it pulls the direct messages and mentions for that user and sends it to our supervised neural network. After the network analyzes the messages and determines which are potentially harassment, it sends the response back to our microservice which then relays the information to the iOS App. The iOS App then provides the user with an interface to take an action in response to each message.
Challenges we ran into
The Facebook API deprecated requests for Facebook messages in version 2.3 of their Graph API. As a result, we had to move on to a different API which we decided should be Twitter. However, we ran into issues authenticating Twitter users because we could not receive an invite to use their Fabric platform before the end of the hackathon (after 15 hours of waiting). As a result, we moved on to the Instagram API but had trouble generating a proper access token that would allow us to access the information we needed for Safenger. At the end of the day, we decided to hard code authentication for Twitter until we get invites to use Fabric.
Accomplishments that we're proud of
- Supervised Neural Network
- Use of Twitter API
- Stunning UI
- Providing users a way to take action in response to online harassment
What we learned
- APIs do not always provide you the data that you need
- There are many ways to harass someone online
- How to successfully work as a team
- How to give a demo on no sleep
What's next for Safenger
- Expand the application to pull messages from more major social media platforms
- Continue training our neural network
- Provide more/better ways for users to respond to harassment