Inspiration

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

Tech Stack

  • Front-end/UI
    • Flutter and dart
    • Adobe XD
  • Backend
    • Firebase
      • Cloud Firestore
      • Cloud Storage
      • Firebase Authentication

Details

  • 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.

Built With

+ 11 more
Share this project:

Updates