It is a Flutter app intended to help fight the growing division in our society by encouraging thoughtful discourse between opposite sides. The premise of the app is simple: it shows you a question which you respond to, matches you with someone of a dissenting opinion, and connects you in a video chat so you can hear each other's thoughts. The goal is that through communication people will understand each other more.
Inspiration
We were inspired by seeing how divided our society is today, especially with regard to the recent election. We truly believe that if more people were to have thoughtful discussions with one another more often, they would understand each other better and find beliefs in common.
How we built it
- Flutter
- Firebase (database, functions, auth)
- Agora
Challenges we ran into
The biggest obstacle was figuring out the best way to match people one-to-one when they open the app, and then connect them securely to create a video channel. We ended up using Firebase Database to store queues of people on each side of an issue, then match them based on who joined first. Then we used their Firebase Auth uid's in Agora to create a video channel and generate secure tokens, which were stored in Firebase Database and received by the app. All of this happened in a Firebase Function which runs whenever a new user joins.
Accomplishments that we're proud of
I'm proud that we created a fully functional app in such a short time, and because of the backend services we used I believe it will scale remarkably well with a larger audience. I also truly believe in the idea and I'm excited to create a tool that can cause a real positive impact.
What we learned
Neither of us had ever used any sort of live video technology, so exploring the possible routes we could pursue and then deep diving with Agora was interesting. Also, Aidan had never used Flutter before, so he learned more about making apps.
What's next for Discourse
Build out some more features like watching other users' conversations live and creating a more structured discussion. Then release it on the App Store and Google Play to reach a larger market.
Built With
- agora
- dart
- firebase
- flutter
- javascript
- node.js
Log in or sign up for Devpost to join the conversation.