DataMind AI is an intelligent, full-stack web application designed to act as your personal, highly capable data analyst. In today's data-driven world, extracting meaningful insights from raw spreadsheets often requires specialized skills in Python, SQL, or complex BI tools. DataMind AI eliminates this barrier.
By seamlessly combining a modern Next.js frontend with a high-performance FastAPI backend, and supercharging it with the reasoning capabilities of the Google Gemini Large Language Model (LLM), this platform allows anyone to explore their data through natural, conversational language.
Whether you are a business owner trying to understand sales trends, a marketer analyzing campaign performance, or a student researching datasets, DataMind AI empowers you to:
- Upload raw data files (CSV, Excel, PDF, TXT) and instantly receive intelligent summaries, anomaly detection, and hidden patterns.
- Converse directly with your data. Ask complex analytical questions in plain English (or Indonesian) and get accurate answers instantly.
- Visualize metrics effortlessly. The AI automatically generates interactive charts and graphs based on the context of your questions.
No SQL queries. No Python scripts. Just upload, ask, and discover.
- 🔒 Secure Authentication: Built-in user authentication using JWT and NextAuth.
- 📁 Multi-Format Data Upload: Supports CSV, Excel (.xlsx, .xls), PDF, and TXT files.
- 📊 Instant Profiling & Summary: Automatically detects schema, row/column counts, and data types.
- 🧠 Conversational Analytics: Chat directly with your dataset. Powered by LangChain's Pandas Agent.
- 🔍 Semantic Search (RAG): Automatically chunks and indexes unstructured text documents into ChromaDB for natural language retrieval.
- 📈 Dynamic Data Visualization: Request visual representations in natural language, and the AI will dynamically generate customized Recharts components on the frontend.
- 🐳 Docker Ready: Fully containerized environment for seamless deployment.
| Domain | Tools / Technologies |
|---|---|
| Frontend | Next.js 14 (App Router), React, Tailwind CSS, shadcn/ui, Recharts |
| Backend | Python 3.12, FastAPI, SQLAlchemy, SQLite |
| AI & NLP | Google Gemini API, LangChain, Pandas |
| Vector DB | ChromaDB |
| DevOps | Docker, Docker Compose |
Follow these steps to run the project locally on your machine.
- Docker & Docker Compose (Recommended)
- Node.js 20+ (If running manually)
- Python 3.10+ (If running manually)
- A Google Gemini API Key
git clone https://github.com/vizca808/Data-Assistant.git
cd Data-AssistantCopy the example environment files and insert your secrets.
# Setup Root Environment (Docker)
cp .env.example .env
# Setup Backend Environment
cd backend
cp .env.example .env
cd ..Crucial Step: Open .env and backend/.env to add your GEMINI_API_KEY.
This will spin up both the Next.js frontend and FastAPI backend in isolated containers.
docker-compose up --build -dTerminal 1 (Backend):
cd backend
python -m venv venv
# Windows: venv\Scripts\activate | Mac/Linux: source venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8000Terminal 2 (Frontend):
cd frontend
npm install
npm run dev- 🌐 Frontend UI: http://localhost:3000 (Use
http://localhost:3001if running manually and port 3000 is taken). - ⚙️ Backend API Docs: http://localhost:8000/docs
Contributions, issues, and feature requests are very welcome! If you like this project, please consider giving it a ⭐️.
- 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
Distributed under the MIT License. See LICENSE for more information.