HSTW
Sentiment analysis tool aggregating world news, generating indices and displaying it all on a 3D globe.
Install / Use
/learn @TerenceGrover/HSTWREADME
<img alt="GitHub Language Count" src="https://img.shields.io/github/languages/count/TerenceGrover/HSTW" /> <img alt="" src="https://img.shields.io/github/repo-size/TerenceGrover/HSTW" />
<center> 🌍 How's The World 🌍 </center>
A sentiment analysis tool that aggregates news sources from around the world to generate a happiness index. This project aims at facilitating news consumption and to have a concentrate of all important news within a single glance. The project is built using a combination of Python Flask for the backend and React for the frontend.

Features
- Generates a happiness index based on the sentiment analysis of news headlines
- Visualizes the data on an easy-to-use dashboard
- Automated data collection process using web scraping techniques
- Responsive design, can be accessed on any mobile device
Technologies
- Backend: Python Flask, pandas, nltk, boto3, feedparser
- Frontend: React, react-router-dom, react-globe.gl, CSS, Chart.js
Installation
- Clone the repository
For Backend
- I recommend the usage of a virtual environment
- Install the dependencies using
pip install -r requirements.txt - You might have to install nltk additional dependencies manually with 'python -m nltk.downloader all'
For the Frontend
- Run the backend server using
flask run - Install the dependencies using
npm i - Run the frontend using
npm start
Usage
- Access the frontend at hstw.io
- Access the raw data at hstwdrop.co
Contributors Guide
- [ ] Reinforcement of the backend
- [ ] Updating the news sources
- [ ] Better impartiality in news source and fine-tuning of the scraping algorithm
- [ ] Development of the UI
- [ ] Addition of Chart.js visualisation
- [ ] Implementation of custom iPhone shortcuts for the visualization to be even faster and easier
- [ ] Instagram story generator for particular news that need extra-sharing
Contributing
- I am currently the sole contributor, but I welcome any contributions and suggestions from the community to improve and expand the capabilities of this tool
- Please feel free to submit a pull request or open an issue
License
- The project is not to be used for any commercial use wihout the prior agreement of the original Author
Author
❤️
Related Skills
bluebubbles
340.5kUse when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
node-connect
340.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
slack
340.5kUse when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
claude-opus-4-5-migration
84.2kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
