Description as a Tweet:

A platform which empowers users to receive feedback while maintaining a safe space for everyone, without creating an echo chamber of positive comments.

Inspiration:

When the recent game CyberPunk 2077 came out there was an immense negative reaction from the community. Although much of the criticism was valid, many users choose to deliver their criticism in the form of hateful rants. One of our friends brought this up and proposed the idea of creating an app which filters out toxic and rude criticism. Our team liked this idea, but was concerned that removing all rude criticism would create an idealistic echo chamber where anything negative was removed. So we designed a system which would still preserve the meaning of negative feedback without forcing people to read it.

What it does:

Our project analyzes Reddit subreddit, post, and comment sentiment using the Google Cloud Natural Language API. Comments that are found to be nice are shown to the user, however if a comment is found to have a harsh negative sentiment we flag the comment as "naughty" (Christmas themed). However we didn't want to completely ignore harsh negative comments. So using the Google Cloud Natural Language API we determine the subject of these negative comments and show the user a list of subjects which commentors feel negative about. That way users can still see what others are annoyed about, without being subjected to toxic rude rants.

How we built it:

We created 3 different micro services and one frontend. The sentinel micro service analyzes plain text and returns sentiment analysis results. The reddit fetcher micro service retrieves Reddit posts and returns them in an internal data format which other services can use. The review micro service is the glue which coordinates all these micro services together, it retrieves reddit posts using the reddit fetcher micro service and calls the sentinel micro service to analyze each reddit post. It then aggregates all the results and formats a response which the frontend can use to display all this to the user.

Technologies we used:

  • HTML/CSS
  • Javascript
  • React
  • Python
  • Django
  • AI/Machine Learning
  • Misc

Challenges we ran into:

Coming up with a system design which fit our needs.
Designing API specifications which included all the data needed.
Using Python to serve web APIs using WSGI was quite confusing to get setup.

Accomplishments we're proud of:

Sentinel micro service: Being able to analyze any piece of text and get sentiment data was very cool! I am proud of this -Dylan
Review micro service: We overcame all the challenges we ran into and were able to create a great product which used Google Cloud Natural Language Processing -Tyler
Reddit fetcher micro service: I am proud that we got so much done is such little time -Matt
Frontend: I was proud that I got my frontend displaying all the data which my teammates worked so hard to process -Noah

What we've learned:

We learned a lot about communicating as a team, especially in a challenging remote environment. During the entire hackathon, from brainstorming, to design, and implementation we made sure to keep a critical eye on our own communication processes. When any of us were feeling that our team wasn't communicating at its best we made sure to bring it up in a kind way, and offer a solution. This led to much better team spirit and more effective work.

What's next:

We designed this project to be generalizable to any content platform. We choose to use Reddit for this hackethon because it is a good source of data. In the future we would like to include other platforms such as Twitter or Youtube. We would also like to work on the frontend, to gear it more towards a company who is looking to sort through all the feedback they receive on the internet. We think the Google Cloud Natural Language API offers some great opportunities to sort through the large amounts of comments which companies receive daily, and extract meaningful patterns and insights.

Built with:

Reddit fetcher micro service: Python + Praw Reddit SDK + Falcon web framework
Sentinel micro service: Python + Google Cloud NLP SDK + Django web framework
Review micro service: Python + Falcon web framework
Frontend: Javascript + HTML + CSS + React

Prizes we're going for:

  • Best Documentation
  • Best Web Hack
  • Funniest Hack
  • Best Domain Name
  • Best Use of Google Cloud

Team Members

Matthew Oslan
Noah Huppert
Dylan Callahan
Tyler Charlantini

Table Number

Table TBD