Turn unstructured feedback into board-ready strategic insights.
Customer Sentiment Insight is an AI-powered analytics dashboard that transforms raw customer reviews, support tickets, and social media comments into actionable intelligence.
Powered by Google Gemini 3.0 Pro, it goes beyond simple keyword matching to understand context, sarcasm, and complex emotional drivers, generating executive summaries and strategic priorities automatically.
- 🧠 Deep Semantic Analysis: Uses Gemini 3.0 Pro with "Thinking" capabilities to process large batches of text.
- 📈 Sentiment Trends: Visualizes how customer sentiment evolves over time.
- ☁️ Topic Clustering: Generates semantic word clouds to identify recurring themes (not just keyword frequency).
- 📋 Executive Summary: Auto-generates professional, strategic briefs suitable for leadership.
- 💬 Chat with Data: Integrated RAG (Retrieval-Augmented Generation) chat interface to ask specific questions about the uploaded data.
- 🎯 Strategic Priorities: Identifies key actionable areas and sentiment drivers (Impact scoring).
- 🌍 Multi-Language Support: Full support for English and Indonesian (UI & Analysis).
- 📄 PDF Export: One-click generation of high-fidelity PDF reports.
- Frontend: React 19, Tailwind CSS, Lucide React
- Visualization: Recharts, D3.js
- AI/LLM: Google Gemini API (
@google/genaiSDK) - Models Used:
gemini-3-pro-preview(Deep Analysis & Reasoning)gemini-3-flash-preview(Fast Validation)
- Utilities: html2canvas, jspdf
- Node.js (v18 or higher)
- A Google Cloud Project with the Gemini API enabled.
- An API Key from Google AI Studio.
-
Clone the repository
git clone https://github.com/aldotobing/customer-sentiment-insight.git cd customer-sentiment-insight -
Install dependencies
npm install # or yarn install -
Environment Setup Create a
.envfile in the root directory and add your Google Gemini API Key:API_KEY=your_google_api_key_here
Note: Ensure your API key has access to the Gemini 3.0 Preview models.
-
Run the Application
npm start # or npm run dev
- Input: Paste a batch of raw text (reviews, emails, survey results).
- Validation: The system checks if the content is relevant using
gemini-3-flash. - Reasoning: The system uses
gemini-3-prowith a high "thinking budget" to analyze timeline data, emotional profiles, and extract drivers. - Visualization: Data is rendered into interactive charts and summarized text.
- Exploration: Use the "Ask AI" chat bubble to dig deeper into specific findings.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Aldo Tobing
- GitHub: @aldotobing
- Twitter/X: @aldo_tobing
This project is licensed under the MIT License - see the LICENSE file for details.