Inspiration
Though social media has made it easier and faster than ever to connect people, the U.S. is now more divided than ever – politically, economically, and socially. While social media is likely only one of many contributing factors to this, our goal for this project was to try to reimagine how people traditionally interact on social media and design it in a way that can better limit potential polarization or “echo chamber” effects. We challenged ourselves to think of a way to promote more balanced civil discourse among users, while still keeping them engaged and informed. This led our team to create a social media app called Civil Discord for the social interconnectivity challenge.
What it does
Civil Discord aims to encourage open, respectful discussions among users with a variety of opinions on topics of their choosing. In addition to providing a public discussion board and private chat functionality, our app differs from traditional social media in that it offers users the option to “friend” and chat with not only others who share similar opinions, but also users who hold opposing viewpoints. The app applies NLP and sentiment analysis to suggest new connections who are similar engaged on the app hold similar and/or different perspectives on topics they are mutually interested in.
Ethical considerations
To promote a more open and honest discussion between users, we’ve set up the chat interaction so that it is 1-on-1 and users are anonymous to each other. Given the polarizing nature of politics today, our hope is that this anonymity protects users and ensures they aren’t attacked for their ideas. However, while users can feel comfortable sharing their opinions, our chat functionality prevents users from sending messages containing profanity and vulgarity to ensure discussions remain respectful.
Challenges we ran into
On the front end, through several members of our group were familiar with Flutter, we found design to be difficult to execute well in short time period. On the back end, we had to learn how to work backwards and recommend similar users based on several scores given by other algorithms run on the users' messages. We also had to find a way to recommend similar users in real time, which was difficult since our original models trained on a dataset with arbitrary users that would not be on the platform.
Accomplishments that we're proud of
We’re proud that we were able to pull together a working app in a short amount of time that can potentially positively influence a relevant issue all our team members care about. A few members of our team are also currently involved in school research related to machine learning models so building this app was valuable and relevant practical experience in applying what they’ve learned so far in their research.
What we learned
Hacking this app required many new technologies and skillsets for all our team members. Even for parts of the project that implemented technologies that we already had some familiarity with, this project stretched us to go much further beyond what we already knew, whether it involved creating a real-time front-end posting board or chat application or implementing practical machine learning models to analyze user inputs and make recommendations.
How we built it
- Frontend: Flutter web
- Backend: Firestore/Python, Google Cloud Natural Language API, VADER, TextBlob, K-nearest-neighbors algorithm, and a reinforcement learning model
Log in or sign up for Devpost to join the conversation.