ehsanulhaque92/ai-customer-feedback-analysis-platform
AI-Powered Customer Feedback & Product Insight Platform
An end-to-end, full-stack platform that transforms unstructured customer feedback from multiple sources into a dynamic, queryable, and actionable business intelligence dashboard.
๐ด Live Demo
[Link to your deployed application] (We will add this once deployed)
โจ Key Features in Action
Dynamic Dashboard & Document Ingestion
The dashboard provides a real-time overview of customer sentiment. Watch as a new document is uploaded, intelligently processed, and its contents are immediately reflected in the charts and recent feedback list.
Conversational AI Assistant (RAG with Filtering)
Ask complex questions in natural language. The AI assistant can query the entire 10,000+ review knowledge base or, with a single click, focus its search exclusively on the content of your uploaded documents to provide precise, context-aware answers.
๐ Project Scope & Performance
This project was built and validated on a substantial and realistic dataset to ensure robust performance.
- Initial Knowledge Base: The system was initialized with a dataset of 10,000 real-world apparel reviews from Amazon.
- Dynamic Data Ingestion: The platform can ingest and process multi-page documents (
.docx,.pdf) in real-time. - Intelligent Chunking Performance: The
llama3-70b-versatilemodel successfully parsed and extracted 8 distinct feedback items from the Q3 report and 7 items from the Q4 report, including sentiment classification for each. - RAG Knowledge Base: The final ChromaDB vector database contains 10,015 queryable feedback items (9,999 from the initial dataset + 16 from the two ingested reports).
- High-Speed AI Assistant: The
llama-3.1-8b-instantmodel, powered by the Groq LPUโข Inference Engine, delivers conversational responses with an average time-to-first-token of under 150ms, providing a truly real-time chat experience.
๐ฏ Introduction: The Problem
Product managers and businesses are inundated with vast amounts of unstructured customer feedback from reviews, support tickets, and internal reports. Manually sifting through this data to find actionable insights is slow, inefficient, and prone to human bias. This project solves that problem by creating an automated system that ingests, analyzes, and synthesizes this feedback into a single, intelligent interface.
๐ Core Features
- Dynamic Analytics Dashboard:
- Visualizes real-time sentiment trends (positive, negative, neutral) from thousands of reviews.
- Displays topic distribution to quickly identify what customers are talking about.
- Features a live-updating table of the 20 most recent feedback items, with sources clearly marked.
- AI-Powered Document Ingestion & Analysis:
- Intelligent Chunking: Upload unstructured documents (
.docx,.pdf). The system uses a powerful LLM (llama3-70b-versatile) to intelligently parse the document, extract individual feedback points, and classify their sentiment. - Hybrid PDF Processing with OCR: The system first attempts direct text extraction from PDFs. If it detects a scanned (image-based) document, it automatically falls back to a powerful Tesseract OCR pipeline to ensure all data is captured.
- Live Dashboard Updates: Once a document is ingested, the main dashboard automatically refreshes in real-time, incorporating the newly extracted feedback into all charts and tables.
- Conversational AI Assistant (Advanced RAG):
- Ask complex, natural language questions about the entire feedback knowledge base.
- Metadata Filtering: A sophisticated search filter allows users to query the entire dataset or focus exclusively on knowledge extracted from uploaded documents, enabling precise and targeted analysis.
- The backend leverages a
sentence-transformersmodel for embeddings and a ChromaDB vector database for efficient semantic search. The final answer is synthesized by a high-speedllama-3.1-8b-instantmodel via the Groq API.
๐ง Technical Deep Dive: System Architecture
This project is built as a professional, decoupled, full-stack application.
- Backend (Python/Flask):
- Built using a scalable Application Factory pattern.
- Features a Singleton `DataService` to manage the dashboard's data state in-memory, allowing for real-time updates without constant database reads.
- The RAG pipeline is built from scratch, using
chromadbfor persistent vector storage andgroqfor high-speed LLM inference. - All dependencies are managed via a
condaenvironment and a universalrequirements.txtfile.
- Frontend (React/TypeScript):
- A modern, responsive UI built with Vite, React, and TypeScript.
- Styled with Tailwind CSS using a reusable component architecture (
components/ui.tsx). - Features custom React hooks (
useDashboardApi) for clean, separated data-fetching logic. - Stateful components, like the AI Assistant, use
sessionStorageto persist conversation history, providing a seamless user experience.
๐ ๏ธ Tech Stack
๐โโ๏ธ Getting Started: Running Locally
- Clone the repository:
git clone [your-repo-url]
cd customer-feedback-ai- Backend Setup:
- Navigate to the
backenddirectory:cd backend - Create and activate the conda environment:
conda env create -f environment.yml
conda activate FeedbackAI- Create a
.envfile and add yourGROQ_API_KEY. - Run the server (this will take ~10 mins on the first run to build the database):
python run.py- Frontend Setup:
- Open a new terminal and navigate to the
frontenddirectory:cd frontend - Install dependencies:
npm install - Run the development server:
npm run dev
The application will be available at http://localhost:5173.
๐ก Future Work
This project provides a powerful foundation. Future enhancements could include:
- V2 Computer Vision Module: Integrating a custom-trained YOLOv8 model to analyze user-submitted images for visual defects (e.g., torn fabric, stains).
- Database Integration: Migrating the in-memory
DataServiceto a persistent SQL or NoSQL database to handle larger datasets and provide user authentication. - Advanced RAG Techniques: Implementing re-ranking and query transformation to further improve the accuracy of the AI Assistant.
๐ซ Contact
Ehsanul Haque Kanan
