Introduction

Built a smart, end-to-end dashboard that lets users analyze public sentiment in real time using a chatbot-style interface. The system fetches data from social platforms, processes it in the backend and allows users to ask questions, see charts and download insights - all in English or Arabic


Objective

  • Enable non-technical stakeholders to interact with sentiment data through a simple, intuitive interface.
  • Provide real-time insights into public sentiment, keyword trends, and audience feedback.
  • Support English & Arabic for a broader audience reach.
  • Combine visual analytics with chat-based interaction to enhance user experience.

Methodology

Data Ingestion & Storage

  1. Scraped posts, mentions, hashtags and comments from multiple social media platforms using Python libraries, APIs and external tools .
  2. Stored and organized data in a PostgreSQL database with structured tables (platforms, content, hashtags, timestamps).
  3. Set up automated scheduling for periodic updates and live data availability.

Data Cleaning & Preprocessing

  1. Removed noise (links, emojis, stopwords) using regex and nltk
  2. Normalized text for sentiment consistency using lowercasing, tokenization, and lemmatization.
  3. Ensured data quality by filtering nulls and duplicating content.

Sentiment Analysis

  1. Applied a trained model for three-class sentiment classification: Positive, Negative, Neutral.
  2. Processed the text data in batch jobs to keep the interface fast and responsive.
  3. Stored sentiment scores and tags in the database for query-based access.

Frontend & Chat Interface

  1. Built the interface in Streamlit, mimicking a chat experience where users can ask questions
  2. Users can filter data by date, hashtag, topic and can request charts, visuals etc.
  3. PDF Export: Users can export chats, dashboards, and sentiment summaries with one click.

Multilingual Query Handling

  1. English queries are answered directly using LLaMA 2.
  2. Arabic queries are also answered using LLaMA 2, then translated using mBERT into Arabic.
  3. The system detects input language and returns context-aware answers in the same language.

Result

  1. Successfully delivered a multilingual, intelligent prototype that secured the project.
  2. The tool enabled non-technical teams to explore public perception visually and conversationally.

Summary

  • Tools Python & SQL

Mockup Dashboard is coming soon....