Hello World!

Hello World!

A web app to visualize world news with sentiment analysis.

ยท

2 min read

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 ๐Ÿ˜Š

ย