Drama on the Internet. In popular social media sites like Twitter and YouTube, it is hard not to come across mean comments. One negative comment can lead to a recipe for disaster. It "encourages" other users to pick a side and "fight".
While some of the "drama" ends in peace. Others choose to exchange offensive language and negative remarks on one another. More often than not, the root of these arguments stems from misunderstandings. It could be due to cultural differences or different upbringing. Some might even think their comment is "not an issue", or it's a trivial matter.
Regardless of which side you are on, the wrong tone in your message just adds fuel to fire. As we get absorbed into this behaviour, our body and mind can begin to collapse. Emotionally, we do not feel good. Some might feel betrayed, injustice or unfair. As time passes, things that happen online might translate to the real world.
With this in mind, we hope to tackle the root cause of this pressing issue. And that is communication.
What it does
itrymybest hopes to help users take a step back and think before sending out that potentially harmful comment.
Using itrymybest is very easy. The user inserts their unsent message into the textbox and hits send. Almost instantly, an analysis of their message appears. In this analysis, we focus on the tone and offensiveness of the message.
For tone, our app picks the highest-scoring emotion out of the 5 - 'Angry', 'Fear', 'Happy', 'Sad' and 'Surprise. This gives the user a suggestion on how their message can be perceived by others.
For offensiveness, our app scans for things such as swear words and slurs. It takes a step forward and gives a detailed explanation of what the word means. Sometimes, a certain word might not be what we thought it would be. With this function, users get to learn the meaning of the word and understand why it might be offensive to some.
itrymybest hopes to promote critical thinking. Allowing users to analyze and see if their comment is constructive or just plain rude.
"Think before you act", by fostering critical thinking skills, the Internet can be fun and engaging.
How we built it
itrymybest was created with Flask. We used Python libraries: Text2Emotion, profanity-filter and PyDictionary to create the features.
We used a linode ubuntu server to get our web app to the Internet (this-> 220.127.116.11).
Challenges we ran into
Getting our web app online. There were many different tutorials and blogs to follow. We were unsure which one to use. The steps to launch the app online were rather tedious. However, we've managed to get it to work by following YouTube tutorial (https://www.youtube.com/watch?v=goToXTC96Co) <-really useful!
Design the web app. Although we were spoilt for choices on open-source templates, we decided against it. We opted for a minimalist design. We took into consideration that a frustrated (and eager) user is not going to sit through and find what they want. This is why sometimes, simple is the best.
Accomplishments that we're proud of
- Actually creating a functional Flask web app.
- Creating a website to help other Internet users! How cool is that :)
- Setting up the Ubuntu server on Linode! (took a lot of time, but it's worth it!)
What we learned
- Linking Python scripts to HTML through the Flask framework.
- Hosting websites with Linode. (Our website is currently taking time to propagate. If it does not run as expected, the website is able to run with the given ip-address - found in "Try it out" links.
- Networking stuff (e.g. DNS lookup, domains, TCP/HTTP etc.)
What's next for itrymybest
- Better layout. Currently, it might be a little difficult to read the analysis portion.
- Image recognition. The ability to detect an image and determine if it contains any offensive objects.
- Word suggestions. Give the user suggestions on how they can improve their message and make it better.