The US political dichotomy has especially been harmful recently. We feel that one of the major causes of it is people being exposed to the biases of the news sources of one side of the political spectrum.

What it does

This program finds breaking news on the same topic from news sources of both biases so readers can have better informed decisions.

How I built it

We used a React frontend with a NodeJS backend hosted on Google Cloud. For our project, we need to be able to tell which articles are describing the same event, so we created a machine learning algorithm hosted as a Google Cloud Serverless Function API to be used as a microservice with our main project.

Challenges I ran into

"Getting data from FireStore and using React to display it" "For the machine learning algorithm, we sometimes didn't have enough data. For example, news articles nowadays tend to have new terms that were not in the dataset we trained the ML algorithm on. We had to change our model in order to compensate for that". "

  • learning node js/express/react/google cloud from scratch
  • figuring out how to use an API
  • first time working with HTTP post/get requests
  • first time working with JSON
  • figuring out the general direction of how to approach the project "

Accomplishments that I'm proud of

"I learned React"


  • Got a good general idea of how JS works, along with what express routing is, react components
  • Successfully parsed data from API into Google Firestore
  • Figured out how to manipulate and traverse JSON "

What I learned

"I learned that React is a great web framework to develop web applications and works well with Google Cloud"


  • Learned JS
  • Learned networking
  • Learned JSON
  • Learned how to plan out a project "

"I'm a freshman and this was my first ML project"

What's next for PoliNews

Our project is unfinished, so we aim to complete it in the future. We also want to make the user experience better, since we didn't spend a lot of time designing it. We also need to fine-tune our ML algorithm to get better results.

Share this project: