Inspiration

During Quarantine we wanted to be able to talk to more people. But we were concerned about how COVID-19 related misinformation spread easily online and wanted to also combat that. So we created QChat, which stands for Quarantine Chat for people to relax and get to know each other.

What it does

QChat is a social media application where users can log in, create, update, and delete their posts. They can upload their own profile images, and communicate with one another, to share information, resources, and jobs listings during the COVID-19 pandemic. If a user forgets their password they can request a password reset. And they will receive reset password instructions in their Gmail inbox.

As seen here: https://drive.google.com/file/d/1Rbh8i-Dcqv4A5mWEHf1DSYmzSf5M7n-s/view?usp=sharing (Note: This will only work if the user enables this setting here: https://myaccount.google.com/lesssecureapps )

How we built it

We used Flask to create the Web application, we used SQLAlchemy as the ORM for our SQL database. Using TensorFlow we created a Neural Network that would use AI to validate the information posted on the platform and give users a visual cue, on what information is valid, neutral or flat out misinformation. In the form of a red, yellow, and green indicator markers. The accuracy of this was achieved by web scraping data in Python using BeautifulSoup4 from various sources on the internet, and storing it into JSON/MongoDB, which we then feed to the Machine Learning Model. So users can view information regarding COVID-19 without worrying if it's verified or not. All the information displayed is auto validated to ensure misinformation does not spread rampantly on the platform.

Challenges we ran into

Web scraping and getting enough data to ensure accuracy in the Neural Network. Debugging various issues when merging the backend with the Frontend. Such as getting the output from the neural network and using it to display the red, green, and yellow indicators.

Accomplishments that we're proud of

In the end, we were able to successfully train, and run a Neural Network on a web application.

What we learned

We learned how to do web scraping in Python. How to use Blueprints in Python. How to use a neural network and the importance of having good quality data to have a Machine Learning AI function correctly. We learned how teamwork and collaboration are absolutely critical when creating an application of this scale.

What's next for QChat

Increase the amount of training data to improve accuracy. In addition, we will move all our training data to MongoDB, because local storage is very volatile. We also intend to store local static files, such as profile images, and the neural network on a cloud-hosted service. We also intend to deploy the application to AWS, and in doing so we can make mobile versions of the web app since it's already fully responsive on all screen sizes. Maybe we could make this into a PWA, Progressive Web App in the near future!

Share this project:

Updates

posted an update

Added an additional branch named mongo in the git repository. The app in this branch will require a mongodb database, we will prefer you have mongodb installed locally. Please refer to the readme on how to set up your environment variables to run the application so you can connect to your databases

Log in or sign up for Devpost to join the conversation.