Create an account screen
One of the topics to discuss
Animation from one topic to another. Almost like clockwise
Another topic to discuss but this time its from technology category. Note above red line indicating the category
Alert box that asks your opinion when you tap on one of these boxes
Chat screen when you pick one of the options. Other person will most likely have different opinion on that
you trying to come to an agreement with this person on a given time frame. NOTE: we set it 10 seconds for the video its 10 minutes actually
Rate this person screen. You rate the person based on maturity levels and can also give a feedback.
In today's age, people have become more and more divisive on their opinions. We've found that discussion nowadays can just result in people shouting instead of trying to understand each other.
What it does
Change my Mind helps to alleviate this problem. Our app is designed to help you find people to discuss a variety of different topics. They can range from silly scenarios to more serious situations. (Eg. Is a Hot Dog a sandwich? Is mass surveillance needed?)
Once you've picked a topic and your opinion of it, you'll be matched with a user with the opposing opinion and put into a chat room. You'll have 10 mins to chat with this person and hopefully discover your similarities and differences in perspective.
After the chat is over, you ask you to rate the maturity level of the person you interacted with. This metric allows us to increase the success rate of future discussions as both users matched will have reputations for maturity.
How we built it
- Flutter and dart
- Adobe XD
- Cloud Firestore
- Cloud Storage
- Firebase Authentication
- Front end was built after developing UI mockups/designs
- Heavy use of advanced widgets and animations throughout the app
- Creation of multiple widgets that are reused around the app
- Backend uses gmail authentication with firebase.
- Topics for debate are uploaded using node.js to cloud firestore and are displayed in the app using specific firebase packages.
- Images are stored in firebase storage to keep the source files together.
Challenges we ran into
- Initially connecting Firebase to the front-end
- Managing state while implementing multiple complicated animations
- Designing backend and mapping users with each other and allowing them to chat.
Accomplishments that we're proud of
- The user interface we made and animations on the screens
- Sign up and login using Firebase Authentication
- Saving user info into Firestore and storing images in Firebase storage
- Creation of beautiful widgets.
What we're learned
- Deeper dive into State Management in flutter
- How to make UI/UX with fonts and colour palates
- Learned how to use Cloud functions in Google Cloud Platform
- Built on top of our knowledge of Firestore.
What's next for Change My Mind
- More topics and User settings
- Implementing ML to match users based on maturity and other metrics
- Potential Monetization of the app, premium analysis on user conversations
- Clean up the Coooooode! Better implementation of state management specifically implementation of provide or BLOC.