Inspiration

Scroll. Like. Scroll. Like. Scroll. Like. Scroll...

Ever notice how much of your feed always seems to look the same? Whether you're tapping through your friends' identical stories on Instagram, reading and retweeting rehashed and tired Twitter takes, or dropping another thumbs-up on a LinkedIn post you could swear you've already seen three other people write, to live in the information age is to be constantly surrounded by noise that only seeks to make itself and its buddies louder.

Our team at RE:Search set out to disrupt the confirmation bias often perpetuated by modern social media by actively challenging you to seek out sources that run contrary to their own opinions. In doing so, the objective is not necessarily to change your mind, but rather, to tune out the echo chamber long enough that you can finally hear yourself think.

What it does

Upon navigating to our website, the user types an opinion (eg. "The Earth is flat") into the search bar. We take the user's expressed opinion and flip it on its head by adding some simple contrary keywords, then track down a corresponding article with the newly negated query. Finally, we return a list of the articles we curated for you, ready for you to click through and mindfully, critically peruse at your leisure.

How we built it

  • We crafted our React.js web app from scratch using the create-react-app toolchain.
  • After processing the user's text input, we set our program to fetch a suitable list of articles by making an API call to Google Custom Search JSON, before returning the data to React.js to present as a list.
  • blood, sweat, and ketchup chips

Challenges we ran into

  • First and foremost: Settling on an idea! After attending some workshops, we had more ideas that we were all interested in than we could count, and a significant chunk of our time was devoted to narrowing the list down to our favourite. In fact, we didn't start coding until Saturday afternoon.
  • Appeasing Satiating Recovering from Learning React.js—some of us came in with no experience coding in React whatsoever, while others had a touch of experience under their belts, but there ended up being plenty of new territory for everyone to explore!
  • After having built upon our front end for quite some time, we realized two fundamental things at around the same time: first, that we were missing a designated back end, and second, that this was going to make our lives progressively harder the more we worked... Fortunately, we were able to dance around the complications without needing to backtrack on the work we'd already done.
  • sleepy...................

Accomplishments that we're proud of

  • Making a complete, functional React.js app!
  • Persevering through an abundance of bugs and new, unfamiliar concepts, such as deprecated react-router-dom components.
  • Learning so many new tools: not just React.js, but also general API interfacing, as well as a significant amount about the Co:here API (which we didn't end up using, but was conceptually returned to time and time again at various points in the project!)

What we learned

  • How to route, develop, and configure React.js
  • what a pierogi is
  • alex has the best spice tolerance ever (#2 fire noodler in canada + the world, probably)

What's next for RE:Search

Our current model for processing and "reversing" a given search query is rather inelegant, given that it only really returns the desired results when the query is phrased in a specific way. To improve upon this, we would love to grow our knowledge of the Co:here API system's processes for identifying key words and classifying text sentiment, so that we can create a system that would work for just about any contentious/two-sided statement worth its salt. There are also a whole host of other ways we'd like to use Co:here; for example, we considered using sentiment analysis to return an objective numerical value to the user expressing how many credible articles we found arguing for either side of the topic (as well as links to read up on both sides). A similar idea was considered for identifying an article's credibility based on its tone and/or the presence, or lack thereof, of buzzwords. Finally, if we should add one or both of the latter two sentiment analysis features, we'd like to explore further methods of visually representing the articles to make that data clear—for instance, representing each article as a node on a map and varying the colour from red to green based on how much in line the article is with your opinions, or varying the size based on how credible we judge the article to be.

Built With

Share this project:

Updates