An AI-powered CSV Insight Generator that transforms raw CSV files into easy-to-understand natural language insights using Google Gemini AI.
Live deployment: https://da-6ebebb3f3d35458fa92b018e22d93ba3.ecs.ap-south-1.on.aws/
- 📖 Overview
- ✨ Features
- 🛠 Tech Stack
- 🏗 Architecture
- 📂 Project Structure
- ⚙️ Installation
- 🐳 Docker
- ☁️ Deployment
- 💡 How It Works
- 🔐 Security
- 🎯 Future Improvements
- 👥 Team Hope Igniters
- 🎓 Project Information
- ⭐ Support
Data Explainer is a full-stack AI web application that enables users to upload a CSV dataset and instantly receive:
- 📊 Dataset profiling
- 📈 Statistical summaries
- 🔍 Data quality checks
- 🤖 AI-generated insights in plain English
Instead of sending raw CSV data to the LLM, the application first analyzes the dataset using Pandas, creates a compact statistical summary, and then sends only that summary to Google Gemini AI. This makes the application faster, cheaper, more scalable, and privacy-friendly.
- 📁 Drag & Drop CSV Upload
- 📊 Automatic Dataset Profiling
- 📈 Numeric & Categorical Statistics
- 🚫 Missing Value Detection
- 🔄 Duplicate Row Detection
- 🤖 AI-generated Dataset Explanation
- ⚡ Real-time Streaming Response (SSE)
- 🌙 Modern Dark UI
- 📱 Responsive Design
- 🐳 Dockerized Deployment
- ☁️ Hosted on AWS ECS Express Mode
| Layer | Technology |
|---|---|
| Frontend | HTML, CSS, JavaScript |
| Backend | FastAPI, Python |
| Data Analysis | Pandas |
| AI Model | Google Gemini 3.1 Flash Lite |
| Streaming | Server-Sent Events (SSE) |
| Containerization | Docker |
| Cloud | AWS ECS Express Mode |
| Image Registry | Amazon ECR |
Browser
│
▼
HTML • CSS • JavaScript
│
HTTPS
│
▼
FastAPI Backend
│
├── Pandas Profiling
│
└── Gemini API
│
▼
AI Explanation
│
▼
Real-Time Stream to Browser
data-explainer/
├── backend/
│ ├── main.py
│ └── requirements.txt
│
├── frontend/
│ ├── index.html
│ └── static/
│ ├── style.css
│ └── script.js
│
├── Dockerfile
├── .dockerignore
├── .gitignore
├── .env
└── README.md
git clone https://github.com/your-username/data-explainer.git
cd data-explainerpython -m venv venvWindows
venv\Scripts\activateLinux / Mac
source venv/bin/activatepip install -r backend/requirements.txtCreate a .env file
GEMINI_API_KEY=your_api_key_hereuvicorn backend.main:app --reloadOpen
http://localhost:8000
Build Image
docker build -t data-explainer .Run Container
docker run -p 8000:8000 data-explainerThe application is deployed using
- Amazon ECS Express Mode
- Amazon ECR
- Docker
- Google Gemini API
Deployed via Amazon ECS Express Mode rather than AWS App Runner, since App Runner stopped accepting new customers as of April 30, 2026. ECS Express Mode is AWS's current recommended replacement for single-container web app deployments and offers an equivalent one-step deploy flow from an ECR image.
- The browser uploads a CSV to
POST /api/analyze. - The backend computes a compact statistical summary with pandas — row/column counts, per-column types, missing-value percentages, duplicate rows, and numeric or categorical statistics — rather than sending raw rows to the LLM.
- That summary is sent to the Gemini API inside a structured prompt
(
build_prompt()inbackend/main.py). - The response streams back to the browser as Server-Sent Events and renders progressively in the UI in real time.
- API Keys stored as Environment Variables
- No secrets committed to GitHub
- Docker-based isolated deployment
- Raw datasets are not directly sent to the LLM
- PDF Report Export
- Interactive Charts
- Data Visualization Dashboard
- Multi-file Comparison
- Download AI Summary
- User Authentication
- Support for Excel Files
Built for the "Building & Deploying an AI Web Application on AWS" final project (AICTE GenAI & Cloud Computing Summer Internship 2026, BharatCares / CSRBOX, in collaboration with IBM).
Program
AICTE GenAI & Cloud Computing Summer Internship 2026
Please consider giving the repository a ⭐ on GitHub.
It motivates us to build more open-source projects.