Real-Time Social Media Sentiment Analysis Dashboard
NLP · BERT · Python · Laravel · SQL · AWS
1. Project Overview (MSc Dissertation Project) ​​​​​
This project delivers a real-time sentiment analysis system designed to monitor and analyse customer feedback from social media platforms. Using a fine-tuned BERT-based NLP model, the solution automatically classifies customer comments into sentiment categories and presents the results through an interactive web dashboard.
The system demonstrates an end-to-end analytics pipeline, from data ingestion and machine learning inference to database storage and real-time visualisation, replicating a production-style analytics environment.
2. Problem Statement ​​​​​
Retail organisations generate large volumes of unstructured customer feedback through social media channels. Manual analysis of this data is inefficient and does not scale, limiting an organisation’s ability to:
-
Detect emerging customer sentiment trends
-
Respond quickly to negative feedback
-
Measure the impact of campaigns or operational changes
This project addresses the problem by creating an automated, real-time sentiment analytics platform that transforms raw social media text into actionable insights for business decision-making.
3. Project Objectives ​​​​​
-
Build a real-time data pipeline for collecting and processing social media comments
-
Fine-tune a BERT sentiment classification model for retail-related text
-
Store sentiment results in a structured relational database
-
Design an interactive dashboard for hourly, daily, and monthly sentiment analysis
-
Deploy the solution on cloud infrastructure to simulate a real-world environment
4. Data & Machine Learning​​​​​
Dataset
-
Social media comments collected via Facebook API
-
Supplemented with 250,000+ labelled customer reviews (Kaggle – TeePublic dataset) for model training
NLP Model
-
Model: nlptown/bert-base-multilingual-uncased-sentiment
-
Frameworks: TensorFlow, Hugging Face Transformers
-
Approach:
-
Text cleaning and tokenisation
-
Fine-tuning on retail-focused sentiment data
-
Classification into: Negative, Neutral, Positive, Very Positive
-
5. System Architecture​​​​
End-to-End Workflow
-
Data Collection
-
Python scripts retrieve Facebook comments
-
Comments stored in SQL with timestamped records
-
-
Sentiment Pipeline
-
Hourly batch of comments processed through BERT model
-
Sentiment distributions generated for each hour
-
-
Backend Orchestration
-
Laravel controllers trigger Python scripts
-
Hour-based windowing logic applied
-
Sentiment snapshots persisted in database
-
-
Visualisation Layer
-
AJAX-powered Laravel dashboard
-
Near real-time updates without page refresh
-
6. Dashboard Design & Features​​​​​

Sentiment analytics dashboard
Live Sentiment (Last Hour)
-
Donut chart showing the most recent sentiment distribution
-
Enables rapid detection of sentiment spikes
Daily Sentiment Analysis
-
Hourly sentiment trend for selected dates
-
Navigation buttons to move between days
Monthly Sentiment Trends
-
Aggregated daily sentiment trends for selected months
-
Identifies long-term sentiment patterns
Interactive Features
-
Dynamic date and month navigation
-
Hover tooltips and legends
-
Responsive layout supporting mobile view
7. Backend & Data Engineering​​​​​
Laravel Controllers
-
ScraperController
-
Executes Python scripts via scheduled jobs
-
Handles comment ingestion and sentiment pipeline execution
-
-
GraphController
-
Exposes REST endpoints for:
-
Full sentiment history
-
Hourly breakdown
-
Monthly aggregation
-
Live sentiment snapshot
-
-
SQL Database
-
Normalised schema for posts, comments, and sentiment snapshots
-
Supports time-series analysis at hourly, daily, and monthly levels
​​
Deployment
-
Cloud Platform: AWS EC2 (Windows Server)
-
Application Stack:
-
Laravel backend
-
Python NLP pipeline
-
SQL database
-
-
Designed to mirror a real-world production deployment
8. Key Outcomes & Insights​​​​​
-
Successfully implemented an automated real-time sentiment monitoring system
-
Demonstrated practical integration of machine learning with web applications
-
Enabled time-based sentiment analysis to support business decision-making
-
Showcased production-style architecture combining NLP, backend engineering, and analytics
9. Tools & Technologies Used​​​​​
-
Languages: Python, PHP, SQL
-
ML & NLP: BERT, TensorFlow, Hugging Face
-
Backend: Laravel, REST APIs
-
Frontend: Blade, AJAX, Chart.js
-
Cloud: AWS EC2
10. Links​​
11. Academic Context​​
This project was developed as part of an MSc Information Technology Management dissertation at Sheffield Hallam University, combining academic research with an industry-focused technical implementation.
