Newstopia was built for CS 326 Web Programming in Fall 2019. The app lets users specify topics they do and don’t want to see, as well as set a minimum sentiment threshold for articles. We aim to improve users’ mental health by giving them more control over their emotional response to their news feed.

I developed the Python backend, which runs a Flask server that produces lists of articles based on the requested list of whitelisted/blacklisted topics and sentiment threshold. I use the News API to fetch articles and Indico for sentiment analysis.

I also worked on the front end, which is built with Vue and UI components from Vuetify. I added inputs/interactivity to connect to the backend, and I made the list of articles look pretty.

Later, I made the app easier to set up locally by configuring it for Docker and Docker Compose.