Inspiration

The recent election shocked many people who only see and hear evidence that people agree with them, partially because polling data failed to capture opinion well. The political and cultural diversity of our country is rendered invisible by the closeness with our friends in contrast to the distance from strangers outside our social bubbles. When we don’t communicate with others of differing opinions, we do worse than get the impression that we’re completely rational or even infallible, we fail to fully consider the others as people who hold their opinions for a reason.

What it does

Echo Chamber is a messaging and debate platform where people with opposing views on a given topic are paired and encouraged to be respectful and convincing about their point of view. Users can answer an opinion question about an existing topic, or generate and post their own, and get put into a chatroom with someone else who wants to hear the other side. At the end of the conversation, the two participants rate each other on how respectful and convincing their conversation partner was, so people can get feedback about how they’re sharing their opinion.

How we built it

Echo Chamber is an Android app which uses Facebook authentication to log people in and pull basic demographic info as well as a profile picture. When users select a topic and opinion, that information hits a Heroku web server running on Node JS + Express, which communicates with a PostgreSQL database. From there, users are routed into a chatroom where communication is facilitated by the PubNub API.

Challenges we ran into

Firstly, we planned out way too many features, not all of which got done. Building a reliable real-time chat client on Android was quite difficult. In addition to the Android app, we spent a lot of time trying to build a web application, but Angular and Facebook logins completely refused to play nice and we decided to focus on Android. Additionally the hackers who wrote the backend had never used Node JS nor Express, so they spent a lot of time learning.

Accomplishments that we're proud of

We overcame almost all of our challenges! We built something that we all genuinely wanted to use. All of us used new technologies in successful ways, to build a functional application.

What we learned

It’s not a great idea to try to build the same client functionality on two different platforms with a time constraint. It’s also not ideal to spend a lot of time planning a huge featureset only to realize that the main features provide adequate difficulty and challenge to implement.

What's next for Echo Chamber

We’re going to further incorporate social media by allowing two conversants to add each other after their conversation if they both want to. We’re going to start making a graph where each node is a person and an edge exists if they are Facebook friends. Then we’ll make the matching based on graph search algorithms which determine the furthest person from you in your connected component, and also which people aren’t even remotely connected to you. We’re going to improve the incentive to earn respect and convincingness points by allowing them them to be used to buy increased visibility for your topic. We’re considering allowing outsiders such as journalists to view the results of the polling questions we use to match people.

Share this project:
×

Updates