← Projects
Completed Research

SentimentScope

View on GitHub ↗
RShinytidytextquantedasentimentrggplot2plotlywordcloud2

About this project

Real-time text analytics platform built in R/Shiny that captures, analyses, and visualises sentiment from social media and news streams. Interactive dashboards with topic modelling and trend detection.

Background

SentimentScope grew out of a need to monitor public discourse around specific topics in real time rather than retrospectively. The use case was understanding how sentiment around retail brands shifts in response to product launches, PR incidents, or seasonal events — information that has commercial value but is otherwise buried in raw social media volume.

R/Shiny was the natural choice for rapid development of interactive analytics dashboards — the tidytext and quanteda ecosystems give you robust NLP primitives, and Shiny makes it straightforward to wire those to interactive UI components without writing JavaScript. The lexicon-based sentiment analysis (using sentimentr) runs fast enough for real-time use; the LDA topic modelling runs as a scheduled background job over larger corpora.

The multi-source ingestion architecture means the same dashboard can show Twitter/X, RSS news feeds, and manually uploaded text side by side. That flexibility was important because different research questions require different sources, and building in extensibility from the start avoided re-work later. The wordcloud and time-series views are the outputs that stakeholders without a data science background found most accessible.

Highlights

  • Lexicon-based and ML sentiment classification (positive / negative / neutral)
  • LDA topic modelling for emerging theme detection across document collections
  • Real-time filtering by source, keyword, and date range
  • Multi-source ingestion: Twitter/X, RSS feeds, custom text uploads
  • Interactive Shiny dashboards with wordcloud and time-series views
← All projects GitHub ↗
← Fake News Detector Twitter Sentiment Analysis →