Skip to content

kaali001/InsightAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ InsightAI - Intelligent Feedback Analysis Platform

InsightAI Banner Python FastAPI React

✨ AI-powered platform for extracting actionable insights from user feedback ✨

image


🎯 About

InsightAI automatically analyzes user feedback from app stores (Google Play & iOS App Store) to help product teams quickly identify critical issues, sentiment trends, and user pain points.

Why InsightAI?

  • ⚑ Fast: Process thousands of reviews in minutes, not days
  • 🎯 Accurate: AI-powered clustering with 95%+ relevance
  • πŸ”’ Secure: Rate-limited API with input validation
  • πŸ“Š Actionable: Visual dashboards for quick decision-making

✨ Key Features

Feature Description
πŸ” Smart Clustering Groups similar feedback using SentenceTransformers + KMeans with automatic fallback to KeyBERT
🧠 AI Summaries GPT-powered or TF-IDF-based summaries for each feedback cluster
πŸ’¬ Sentiment Analysis Multilingual sentiment detection using TextBlob with language auto-detection
πŸ“₯ Multi-Source Scraping Fetch reviews from Google Play Store & Apple App Store with date filtering
πŸ“€ CSV Upload Import feedback from any source via CSV file
πŸ” Authentication Secure JWT-based auth with bcrypt password hashing
πŸ›‘οΈ Rate Limiting Prevents API abuse (5 req/min for analysis, 20 req/min for uploads)
πŸ“ Auto-Rotating Logs Daily log rotation with 7-day auto-deletion
βœ… Input Validation App ID validation for Google Play & App Store

πŸ› οΈ Tech Stack

Backend

  • Framework: FastAPI (async Python web framework)
  • Database: MongoDB (Motor async driver)
  • AI/ML:
    • OpenAI GPT-3.5 (primary)
    • SentenceTransformers (embeddings)
    • KeyBERT (keyword extraction)
    • TextBlob (sentiment analysis)
    • scikit-learn (clustering)
  • Auth: JWT + Passlib (bcrypt)
  • Rate Limiting: SlowAPI

Frontend

  • Framework: React 18 + TypeScript + Vite
  • UI: TailwindCSS + shadcn/ui
  • State: Zustand
  • Charts: Recharts
  • Routing: React Router

DevOps

  • Deployment: Render/Heroku ready (Procfile included)
  • Logging: Daily rotating logs (auto-delete after 7 days)
  • Monitoring: Health check endpoints

πŸš€ Getting Started

Prerequisites

  • Python 3.11+
  • Node.js 18+
  • MongoDB (local or cloud)
  • OpenAI API Key (optional, fallback available)

Backend Setup

# Clone repository
git clone https://github.com/kaali001/InsightAI.git
cd InsightAI/backend

# Create virtual environment
python -m venv .venv
.venv\Scripts\activate  # Windows
# source .venv/bin/activate  # Linux/Mac

# Install dependencies
pip install -r requirements.txt

# Configure environment
cp sample.env .env
# Edit .env with your credentials

# Start server
python -m uvicorn app.main:app --reload --port 8000

Backend runs at: http://localhost:8000
API Docs: http://localhost:8000/docs

Frontend Setup

See frontend/readme.md for detailed setup.


πŸ“‹ API Endpoints

Method Endpoint Description Rate Limit
GET / Root endpoint 60/min
GET /health Health check Unlimited
POST /api/auth/signup User registration 10/min
POST /api/auth/login User login 10/min
POST /api/feedback/upload-csv Upload CSV feedback 20/min
GET /api/feedback/fetch-analyze Scrape & analyze reviews 5/min
POST /api/projects/create Create new project 60/min
GET /api/projects/all List user projects 60/min

πŸ”’ Security Features

  • βœ… JWT token-based authentication
  • βœ… Bcrypt password hashing
  • βœ… API rate limiting per endpoint
  • βœ… Input validation for app IDs
  • βœ… CORS protection
  • βœ… Secure secret key management
  • βœ… No hardcoded credentials

πŸ“Š Sample Use Case

Scenario: Analyze recent Instagram app reviews

  1. Input: google_play_app_id=com.instagram.android, mode=weekly
  2. Processing:
    • Scrape 200 recent reviews
    • Detect sentiment (positive/negative/neutral)
    • Cluster similar issues (e.g., "login failures", "UI bugs")
    • Generate AI summary for each cluster
  3. Output:
    {
      "total_feedbacks": 150,
      "sentiment": {"positive": 45, "negative": 35, "neutral": 20},
      "clusters": {
        "0": {"summary": "Login OTP issues", "count": 23},
        "1": {"summary": "Story upload failures", "count": 18}
      }
    }

πŸ“ Project Structure

InsightAI/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ auth/          # Authentication routes
β”‚   β”‚   β”œβ”€β”€ core/          # Config, security, logging, rate limiting
β”‚   β”‚   β”œβ”€β”€ db/            # Database connection
β”‚   β”‚   β”œβ”€β”€ feedback/      # Feedback routes & services
β”‚   β”‚   β”œβ”€β”€ project/       # Project CRUD
β”‚   β”‚   β”œβ”€β”€ utils/         # NLP & scraping utilities
β”‚   β”‚   └── main.py        # FastAPI app entry
β”‚   β”œβ”€β”€ logs/              # Auto-rotating logs (7-day retention)
β”‚   β”œβ”€β”€ requirements.txt   # Production dependencies
β”‚   β”œβ”€β”€ Procfile           # Deployment config
β”‚   └── runtime.txt        # Python version
└── frontend/              # React + TypeScript app

πŸ§ͺ Testing

cd backend
pip install -r requirements-dev.txt
pytest app/tests/ -v

🀝 Contributing

Contributions welcome! Please read CONTRIBUTING.md first.


πŸ‘¨β€πŸ’» Developer

Satyendra
Mentored by: Achyut Mohan (Google)


⭐ Final Words

InsightAI transforms chaotic user feedback into actionable product intelligence.
Stop drowning in reviews β€” start making data-driven decisions today! πŸš€

About

It outlines the major issues facing by user from the user feedbacks/ comments on apps.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors