Inspiration

We were inspired by the desire to combat the massive amount of disinformation that is prevalent in society today.

What it does

Users are able to input URLs for articles that they are interested in having analyzed by our machine learning model. This model then displays confidence percentages for whether it thinks an article is true or false. It also shows a summary of the article generated by the OpenAI API.

How we built it

We trained the multinomial Naive Bayes model on over 20,000 pieces of article data (author, title, text, and label). We used a count vectorizer to convert the words into numerical representations. Scikit-learn provided us with the necessary machine learning tools. We used Modal to ensure that our back end would run entirely in the cloud. Finally, we used React to create an intriguing and visually interesting user interface that will keep our website visitors engaged and the OpenAI API to provide AI-generated summaries of articles.

Challenges we ran into

One of our main troubles was with learning Modal and trying to integrate it into all layers of our tech stack. We dealt with properly setting up images, creating stub functions, and handling API calls between our back and front end. We also ran into errors when trying to send and receive JSON objects and display the right visual elements to the user.

Accomplishments that we're proud of

We are extremely proud that we were able to quickly pick up the basics of Modal and successfully integrate it into our project in a useful way. We are also very proud of the way our front end website looks and how it correctly interacts with our serverless functions. Most of all, we are proud of what we were able to accomplish in our first-ever hackathon!

What we learned

The most significant thing we learned technology-wise was the foundations of Modal, all thanks to Jonathon Belotti, who was a tremendous help whenever we asked him questions. We also gained a lot of experience in a short amount of time with putting together a website that integrates a machine learning model running in the cloud. And last but not least, we learned about each other and what it means to work together effectively as a team!

What's next for TruthQuest

Next, we would like to store our model in a Modal shared volume after training it. This way, we will not have to retrain the model every time we call the function. We would only have to retrain the model after gaining new data or after a set amount of time. We could construct a schedule using Modal cron jobs and periodically update our model.

Built With

Share this project:

Updates