Hello World!
A web app to visualize world news with sentiment analysis.
Why
The thought process behind Hello World ( the most innovative name right? ๐ ) started in my head when I learned about the whole concept of "data streaming". And then I thought of how cool it would be to visualize real-time news. But what would the visualization convey? That was when I learned about sentiment analysis and thought why not build something that analyses the sentiment of headlines from all over the world and display it in a super cool and interactive way for anyone to get a sense of what is happening on the other side of the world. And that is exactly what my project Hello World is!
What and How
Hello World is a web app that fetches headlines from all over the world through the NewsCatcher News API and performs sentiment analysis on it using Azure Text Analytics. The backend is a FastAPI which I have deployed using Azure App Services while the frontend fetches the sentiment-analyzed news from the API and uses the react-globe package to render a React + ThreeJS globe visualization of the world news!
My logic for the markers to be green(positive) and red(negative) is that once I fetch the news articles from the external API, I send them to the Azure service to get a sentiment and sentiment score. The overall sentiment would be decided by the number of articles in each sentiment category and then I find the average sentiment score for all the articles from a particular country which would be how large the marker should be on the globe.
Here is a demo video for my project!
Learnings
This is my first-ever hackathon submission though I feel like I have been a developer for ages! ๐ฅณ
It was definitely an amazing experience to test out my skills in Python and React and realize how much I still don't know. I also just realized that I spent more than 20 hours on this single project! ( PS. I used Wakatime for this )
The data is supposed to be updated every 24 hours but I cannot seem to figure out how to make it work. To anyone reading this, I would be more than happy if you could help me out! Do let me know in the comments below ๐