I have a thing for Hackathon. I am a procrastinator. A lazy and procrastinator graduate student, not a nice combination to have. But still when I see hundreds of sharp minds in a room scrabbling over idea, hungry to build and prototype their idea. Bring it to life, it finally pushes me to activity, makes me productive.
That is why I love Hackathon, that is why I love HackRice, our resident Hackathon of Rice University.
TL;DR: if you just want to try the extension, chrome version is here and Firefox version is here.
TL;DR: if you just want to try the extension, chrome version is here and Firefox version is here.
I have been participating at HackRice since 2014, when I think for the first time it was open for non-rice students, and have been participating ever since. What a roller coaster ride it has been, but that is a story for another day.
HackRice 7.5 being the last one I will be able to attend at Rice, it was somewhat special and emotional for me.
Hackrice 7.5 starts now! |
HackRice 7.5 was a tad different form the other iterations. For starters it was the first time it was being held in Spring semester, and hence on a smaller scale and only to Rice Students. And also instead of normal 26 hours, it was exactly 24 hours. The venue was Liu Idea Lab. I have never been to the lab before, and it seemed to be a nice place to sit and work. The event started on Friday evening and ended on Saturday evening.
The event had two tracks, with a beginner and a Data Science track. The organizers had two in depth workshop/tutorials set up for both of these tracks to help out starters. Which I though was really cool. Even though I was brainstorming and prototyping on something different, I sat through them anyway and felt they were really thorough.
Being a one person team, and not really knowing anybody else I decided to work on a relatively smaller project which I can finish instead of trying anything in Data Science track. The idea I initially had was of a privacy filter. After some more brainstorming realized to properly make one, taking account of all anonymizing factors it probably will take me more time than 24 hours. I decided to settle on more of a toxic/malicious/sanity/trigger word filter.
The Idea: Create a browser based extension that can filter out abusive posts, word, sentences paragraphs.
Inspiration: Lately a lot fo us have started noticing the rise of cyber bullying and abusive behaviors across the internet. Be that reddit or facebook group. Often I see it gets me rallied up just before I goto sleep. Often I wish if only I did not read that. Recent increase in cyber bullying is one of the primary reason for the tool. Mental health and online harassment are major, relevant issues today in our current society. Everyone should be able to access content in the internet without fearing for trigger words or harassment. And that goes specially for the people who have been victim of such incidents and really doesn't wish to see any such trigger words.
What is uFilter:
uFilter is a smart web extension made to help people browse the web without seeing content they don't like to see. Bringing the power to choose what to see back to users. The user has a list of buttons as filters they can choose. Either individual or more than one at a go. The process is simple and subtle: check off the type of content you want to avoid and let us handle the rest! Questionable content is blurred out, if you wish to see it nonetheless you can click to reveal the text.
You can see it in action here:
What it does in the background: The contents are blocked at page load, so the user is still able to access the context of the site before making up their mind if they are staying or leaving. The extension has s simple UI which lets them choose what to block and what not.
They can also click on the covered sections to reveal as they go. The script searches through the entire DOM looking for elements wherever they may be on the page. Sentiment analysis was implemented to determine what content was malicious.
The script also observes the page so it can adaptively block content on pages like Youtube loading comments, Facebook feed as well as Twitter pages.
uFilter is not just a dumb keyword filter. It first combs every web page you visit for questionable content based on your filter selection, once it identifies sentences containing questionable content and uses the AFINN-165 wordlist and Emoji Sentiment Ranking to perform sentiment analysis. Once it determines it has abusive content. It blurs out only that portion.
The most useful part of uFilter is, it can observe dynamic webpages and works on texts which are dynamically loaded into the webpage. Hence it works for twitter or Facebook with rolling feed and dynamic texts as well.
Another distinguishing feature of uFilter is, it does not remove/replace any content. If a user decides from the context of the page that s/he wants to read the content, just clicking on the blurry portion will reveal the text to the user.
All this is done in realtime so the user does not notice any difference in their normal browsing behavior. But of course properly identifying abusive content just programmatically is a hard problem. Recognizing that uFilter gives the user an option to tag/mark/categorize text as offensive. Once a user does that, the filter will learn from it. This information is stored in a firebase datastore without any identifying information and helps uFilter.
The end result is a uFilter which can intelligently sanitize any website or webpage you visit of any abusive content you do not wish to see. You can see it in action
The end result is a uFilter which can intelligently sanitize any website or webpage you visit of any abusive content you do not wish to see. You can see it in action
Got this beautiful earphone as prize |
If you want to know more about the project, visit the submission page at devpost.
If you want to try the add-on, I will be delighted to hear your feedback!
Chrome version download link!
Firefox version download link!
The loot :D A QC30 and Solar Backpack |
Comments
Post a Comment