Skip to content

Repository files navigation

AI Data Analyst Workbench


A browser-based data analysis platform from raw CSV to a finished report, in one tab.


Built with AI Tools No Installation Python EDA License MIT


Built by Sanjay Polamarasetti - Data Analyst


Overview

Data Analyst Workbench is a fully browser-based analysis tool that takes a raw CSV file through cleaning, querying, visualization, and reporting without requiring Python, Excel, a server, or an API key.

Open it in a browser, upload a file, and start analyzing.


Features

Module Description
📁 Upload & Preview Drag-and-drop CSV support for 1M+ rows, with automatic column-type detection and virtual scrolling
🧹 Clean & Transform Remove nulls and duplicates, rename columns, create calculated fields all changes logged for audit
🔍 SQL Query Engine Write SQL directly, or describe a query in plain English, executed instantly via in-browser SQLite
📈 Visualize Seven chart types, auto-generated KPI cards, and chart-type suggestions based on the data
🔢 Pivot Tables Excel-style pivot builder with drag-and-drop fields and multiple aggregation types
🐍 Python EDA Real pandas, numpy, and matplotlib running in-browser via Pyodide no Jupyter required
🤖 AI Executive Report One-click narrative report covering dataset overview, KPIs, insights, and recommendations
📄 Export Download CSVs, charts, pivot tables, and full reports as PDF

Getting Started

Run locally

git clone https://github.com/YOUR_USERNAME/ai-data-analyst-workbench.git
cd ai-data-analyst-workbench
npx serve .
# open http://localhost:3000/landing.html

Or run directly in the browser Open landing.html in any modern browser and click Launch Workbench.


Workflow

Upload CSV → Clean & Transform → Query (SQL / NL) → Visualize → Pivot → Python EDA → AI Report
  1. Upload - drag in a CSV; column types (number, text, date, boolean) are detected automatically
  2. Clean - remove empty rows and duplicates, rename or recast columns, add calculated fields (e.g. Profit = Sales - Cost)
  3. Query - write SQL directly, or describe the query in plain English
  4. Visualize - auto-generated KPI cards and charts (bar, line, pie, scatter, doughnut, area, radar)
  5. Pivot - build Excel-style pivot tables with row/column/value fields and multiple aggregations
  6. Python EDA - describe an analysis in plain English (e.g. "correlation matrix") to generate and run Python code with chart output
  7. Report - generate a full executive summary and export it as a PDF

Tech Stack

Category Technology Purpose
CSV Parsing PapaParse Chunked streaming for large files
SQL Engine sql.js (SQLite → WASM) In-browser SQL queries
Charts Chart.js + DataLabels Chart rendering and labeling
Python Runtime Pyodide v0.25.0 pandas / numpy / matplotlib in-browser
PDF Export jsPDF + AutoTable Report and chart export
Icons Lucide Icons Consistent UI iconography
NL Engine Custom JS keyword engine Plain-English → SQL/Python translation, no API calls
PWA Service Worker + manifest.json Installable, offline-capable
Styling Vanilla CSS + CSS Variables Dark/light mode, responsive layout

Project Structure

ai-data-analyst-workbench/
├── landing.html                       Landing page
├── index.html                         Main application
├── style.css                          Styles (dark/light mode)
├── app.js                             Application logic
├── manifest.json                      PWA manifest
├── sw.js                              Service worker (offline support)
├── CHANGES.md                         Development changelog
├── data_analyst_workbench_PRD.md      Product requirements
└── execution_plan.md                  Phase-by-phase build plan

Natural Language Examples

SQL

Input Generated Query
top 10 sales SELECT * ORDER BY sales DESC LIMIT 10
count by region SELECT region, COUNT(*) GROUP BY region
average salary by department SELECT dept, AVG(salary) GROUP BY dept
show missing values WHERE column IS NULL OR column = ''
duplicates in product column GROUP BY product HAVING COUNT(*) > 1

Python EDA

Input Output
show basic statistics df.describe() summary table
correlation matrix Heatmap via matplotlib
plot histogram of revenue Distribution chart
top 10 by sales Bar chart with printed table
show outliers IQR-based outlier detection

Build Journey

Built in 11 phases using AI-assisted development:

Phase Scope
0 App shell, navigation, dark/light mode, PWA setup
1 CSV upload, stats bar, column detection, data table
2 Clean & Transform core operations and action log
3 SQL query engine (sql.js) and template queries
4 Session persistence
5 NL-to-SQL keyword engine
6 Settings modal and API key management
7 Visualize KPI cards and chart builder
8 Pivot table workspace
9 AI executive report generator
10 PDF export, mobile responsiveness, PWA
11 Python EDA tab (Pyodide + NL-to-Python engine)

AI tools used: Claude (Anthropic) as primary architect and code generator, Gemini/Antigravity for phase-level builds.


About the Builder

Sanjay Polamarasetti - Data Analyst

Built entirely with AI-assisted development, without writing code by hand this project set out to show that a data analyst can turn a well-defined product requirements document into a production-grade tool.


License

MIT License - free to use, fork, and build upon.

Built by Sanjay Polamarasetti | Data Analyst

About

AI-powered browser-based data analysis platform ->Upload CSV → Clean → SQL → Visualize → Python EDA → AI Report. No installation. No code. Built by a Data Analyst using AI tools.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages