← All projects

GenAI & NLP

Customer Review Sentiment & Response Assistant

GenAI case study that turns 3,000 product reviews into sentiment scores, customer segments and a Human-in-the-Loop support-response assistant, in 3 milestones.

45%of reviews show a mismatch between star rating and text sentiment

Stack: Python, SQLite, NLTK/VADER, TF-IDF, Gemini, Gradio License: MIT

Live demo

A working version of this project will run right here.

Coming soon

Plan: Hugging Face Space running the Gradio app, embedded on this page. The Gemini API key stays server-side and is never shipped to the browser.

TODO: build and embed the demo

Key findings

  • 78% of "neutral" 3-star reviews are actually positive.
  • Customer segments are distinct (cosine similarity 0.23 to 0.27).
  • The project documents its own limitations: keyword false positives, VADER limits and a templated dataset.

How it works

  • 3,000 reviews stored in SQLite, analysed across 3 milestones.
  • Packaged as a reusable ReviewAnalyzer class plus a Gradio app.
  • The app returns sentiment, an urgency score, themes and a Gemini-drafted reply (gemini-2.5-flash) for a human agent to approve.
  • Tools: pandas, NLTK/VADER, scikit-learn (TF-IDF), Google Gemini, Gradio, ReportLab.

Code and write-ups