← Back to Projects

Sentiment Analysis Dashboard

End-to-end NLP pipeline for real-time sentiment analysis of social media data, with an interactive dashboard.

June 15, 2024completed
PythonTensorFlowBERTFastAPIReactPostgreSQL

Overview

A full-stack sentiment analysis system that processes social media data in real-time, classifies sentiments using a fine-tuned BERT model, and displays results on an interactive React dashboard.

Problem Statement

Manually monitoring brand mentions and public sentiment across social media is time-consuming and impractical at scale. This project automates that process.

Architecture

Data Ingestion → NLP Preprocessing → BERT Inference → API → Dashboard
  1. Data Collection: Twitter API v2 streaming
  2. Preprocessing: Tokenization, cleaning, normalization
  3. Model: Fine-tuned BERT (bert-base-uncased) for 3-class classification
  4. Backend: FastAPI with PostgreSQL for storing results
  5. Frontend: React dashboard with Recharts for visualization

Key Results

  • 94.2% accuracy on test dataset
  • Processes 500+ tweets/minute
  • Average latency: ~120ms per prediction

Lessons Learned

Working with streaming data taught me about backpressure, batching strategies, and the importance of monitoring model drift in production.