Sentique is a full‑stack feedback analytics platform that ingests user reviews from App Store, Google Play, Trustpilot, Reddit and Twitter/X, processes them with a fine‑tuned BERT model into 16 categories and sentiment labels, and provides comprehensive analytics and insights.
Sentique transforms scattered customer feedback into actionable intelligence through sophisticated data processing and AI-powered analysis. The platform combines traditional machine learning with generative AI to deliver both structured analytics and conversational insights, helping businesses understand customer sentiment at scale.
The onboarding form collects essential application details via the /register
endpoint to set up Sentique:
- Apple App Store Product ID (numeric ID, e.g.
123456789
) - Apple App Store Product Name (e.g.
MyAwesomeApp
) - Google Play Store Package Name (e.g.
com.example.app
) - Company Website URL (e.g.
example.com
)
Once you submit this information, Sentique will automatically fetch and process reviews from your configured app stores and web channels for sentiment analysis and insights.
The main dashboard provides a comprehensive view of sentiment trends across time periods, sources, and categories. Key metrics are highlighted with interactive filtering capabilities.
Detailed sentiment breakdown showing positive, negative, and neutral distribution across different sources and time periods, enabling targeted analysis of customer feedback patterns.
Summarization of review distribution across the 16 categories identified by our fine-tuned BERT model, helping identify the most discussed aspects of products or services.
Actionable Insights of review distribution across the 16 categories identified by our fine-tuned BERT model, helping identify the most discussed aspects of products or services.
Natural language interface allowing users to query the review database conversationally, with responses generated by Gemini API using relevant review context.
Summary report highlighting key strengths and improvement areas based on analysis of customer reviews across selected time periods and categories.
- Multi-Source Data Collection: Automated scraping of reviews from App Store, Google Play, Trustpilot, Reddit, and Twitter/X
- ML-Powered Classification: Fine-tuned BERT model categorizes reviews into 16 distinct classes
- Sentiment Analysis: Identifies positive, negative, and neutral opinions across all feedback sources
- Interactive Dashboards: Real-time visualization of sentiment trends, source breakdowns, and feature-specific feedback
- AI-Powered Insights: Actionable summaries of what users like and areas for improvement via Gemini API
- RAG-Driven Chatbot: Natural language Q&A over vectorized review data using SentenceTransformer + Gemini
- Frontend: React, Vite, TypeScript, Tailwind CSS
- Backend: Django, Django REST Framework, FastAPI
- Database: PostgreSQL, PGVector, Redis (Celery broker)
- Authentication: Django all-auth
- LLM: Gemini 1.5 Pro
- Deep Learning Models: Fine-tuned ROBERTA based classifier model, j-hartmann/sentiment-roberta-large-english-3-classes
- Network Tunneling: ngrok
- Process Management: Celery
- Package Management: pnpm (for frontend), pip (for backend)
- Multi-Source Scrapers: Specialized modules for each data source (App Store, Play Store, Reddit, Trustpilot, Twitter)
- Asynchronous Processing: Django + Celery architecture for efficient task queuing and execution
- Error Handling: Robust retry mechanisms for failed scraping attempts
- Data Storage: PostgreSQL database optimized for review data and analysis results
- Sentiment Analysis: Classifies reviews as positive, negative, or neutral
- Category Classification: Fine-tuned BERT model sorts reviews into 16 specific categories
- Vector Embeddings: Transforms review text into vector representations for similarity search
- Model Persistence: Efficient storage and retrieval of trained models
- Gemini API Integration: Generates comprehensive insights about specific feedback categories
- Structured Analysis: Creates organized summaries of positive and negative aspects
- Time-Series Analysis: Tracks sentiment changes and feature performance over time
- Fallback Handling: Alternative text extraction when primary parsing methods fail
- Vector Search: SentenceTransformer converts queries into searchable vectors
- Contextual Retrieval: Finds and ranks relevant reviews based on semantic similarity
- Context Augmentation: Enhances AI responses with retrieved review data
- Response Generation: Gemini API produces human-like answers grounded in actual review data
- React + TypeScript: Modern frontend with strong typing
- Dashboard Views: Main analysis dashboards with sentiment trends
- Detailed Feedback Explorer: Deep-dive interface for individual reviews
- Product Feedback Analysis: Category-specific review insights
- Interactive Chat Interface: Conversational UI for the RAG system
- Trend Charts: Time-based visualization of sentiment patterns
- Source Distribution: Breakdown of sentiment by data source
- Feature Analysis: Comparative visualization of product features
- Topic Modeling: Visual representation of common themes in reviews
- Collection: Scrapers gather reviews from multiple platforms
- Processing: ML models analyze sentiment and categorize reviews
- Enrichment: Reviews are vectorized and stored with metadata
- Analysis: Gemini API generates insights from processed data
- Presentation: Frontend displays visualizations and interactive reports
- Interaction: Users explore data and query the RAG chatbot
- Requires pnpm, Node.js, Python 3.9+
- On Windows, use
venv\Scripts\activate
instead ofsource venv/bin/activate
- Environment variables must be configured in
.env
file
-
Navigate to the frontend directory:
cd frontend
-
Install dependencies:
pnpm install
-
Start the development server:
pnpm dev
If you haven't installed PostgreSQL, install it using:
Ubuntu:
sudo apt update
sudo apt install postgresql postgresql-contrib
Mac (Homebrew):
brew install postgresql
Windows: Download from official PostgreSQL website.
sudo systemctl enable postgresql
sudo systemctl start postgresql
sudo -u postgres psql
Then, inside the PostgreSQL shell:
CREATE DATABASE sentique;
CREATE USER sentique_user WITH PASSWORD 'my_password';
ALTER ROLE sentique_user SET client_encoding TO 'utf8';
ALTER ROLE sentique_user SET default_transaction_isolation TO 'read committed';
ALTER ROLE sentique_user SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE sentique TO sentique_user;
\q
Connect to your database:
psql -U sentique_user -d sentique
Then, enable the pgvector
extension:
CREATE EXTENSION vector;
Ubuntu:
sudo apt update
sudo apt install redis-server
Mac (Homebrew):
brew install redis
Windows: Use Memurai (a Redis alternative for Windows) or install Redis via WSL.
sudo systemctl enable redis-server
sudo systemctl start redis-server
redis-cli ping
You should see PONG
as output.
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # For macOS/Linux # For Windows: # venv\Scripts\activate
-
Install required dependencies:
pip install -r requirements.txt
-
Apply database migrations:
python manage.py makemigrations python manage.py migrate
-
Run the celery worker:
celery -A backend worker --loglevel=info
-
Run the development server:
python manage.py runserver