Skip to content

chauhand2463/System2ML

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ System2ML - AI-Driven ML Pipeline Design System

Live Demo Version Python Next.js License


Built by Dhairy Chauhan


🌟 Live Demo

Frontend (Vercel): https://system2-ml.vercel.app/

Backend (Render): https://system2ml-api.onrender.com


πŸ“‹ Table of Contents

  1. Overview
  2. Features
  3. Tech Stack
  4. Architecture
  5. Getting Started
  6. API Endpoints
  7. Project Structure
  8. Deployment
  9. License

🎯 Overview

System2ML is a comprehensive, production-ready platform for designing, executing, and governing ML pipelines with AI-powered intelligence. It enforces user-defined constraints (cost, carbon, latency) throughout the entire ML lifecycle.

What Makes It Special?

  • πŸ”’ Constraint-Driven: Every pipeline validated against user constraints before execution
  • πŸ“Š Real Dataset Profiling: Accepts real data with auto type inference & PII detection
  • ⚑ Live Monitoring: Real-time training with auto-stop capabilities
  • 🎯 Feasibility Engine: Only generates pipelines that can actually run
  • 🏒 Enterprise-Ready: OAuth, approvals, and complete audit trails

✨ Features

Dataset Management

  • πŸ“ Upload datasets (CSV, Parquet, JSON, images, text)
  • πŸ”— Connect to external sources (S3, GCS, Database, API)
  • πŸ” Automatic profiling: data type, labels, size, class balance, PII detection

Design Wizard Flow

  1. Input - Review dataset summary
  2. Constraints - Set cost, carbon, latency limits
  3. Preferences - Configure objective, deployment, retraining
  4. Review - Validate constraints & generate candidates
  5. Results - Select feasible pipeline

Training Pipeline

  1. Pre-Training Gate - Final feasibility check
  2. Live Training - Real-time progress & constraint monitoring
  3. Results - Post-training metrics & model artifacts

Pipeline Designer

  • 🎨 Visual DAG editor with drag-and-drop
  • πŸ“¦ 10 node types (Source, Transform, Model, Sink, Monitor)

Enterprise Features

  • πŸ” OAuth (Google, GitHub)
  • βœ… Approval workflows
  • πŸ“ Complete audit logs
  • πŸ’‘ Failure memory with AI-suggested fixes
  • πŸ“ˆ Real-time drift detection

πŸ›  Tech Stack

Layer Technology
Frontend Next.js 16, TypeScript, Tailwind CSS, shadcn/ui
Backend FastAPI, Python 3.11, Pydantic
Database SQLite
Deployment Vercel (Frontend), Render (Backend)
Authentication OAuth (Google, GitHub)

πŸ— Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Frontend (Next.js 16)                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ Datasets β”‚  β”‚  Design  β”‚  β”‚  Train   β”‚  β”‚   Pipeline   β”‚  β”‚
β”‚  β”‚  Pages   β”‚  β”‚  Wizard  β”‚  β”‚  Pages   β”‚  β”‚   Designer   β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚ REST API
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      Backend (FastAPI)                          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  Validation β”‚  β”‚ Feasibility  β”‚  β”‚   Training Engine  β”‚   β”‚
β”‚  β”‚    API      β”‚  β”‚    Policy    β”‚  β”‚                    β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  Dataset    β”‚  β”‚    Safety    β”‚  β”‚   Eligibility     β”‚   β”‚
β”‚  β”‚  Profiling  β”‚  β”‚     Gate     β”‚  β”‚      Matrix       β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • Python 3.10+
  • pnpm or npm

Installation

# Clone the repository
git clone https://github.com/chauhand2463/System2ML.git
cd System2ML

# Install Python dependencies
pip install -e ".[all]"

# Install frontend dependencies
npm install
# or
pnpm install

Development Mode

# Run both frontend and backend
npm run dev:all

πŸ“‘ API Endpoints

Dataset API

Method Endpoint Description
POST /api/datasets/profile Profile a dataset
POST /api/datasets/validate Validate against constraints
GET /api/datasets List all datasets

Design & Validation API

Method Endpoint Description
POST /api/validate Validate constraints
POST /api/feasibility/policy Get feasibility policy
POST /api/feasibility/generate Generate pipeline candidates
POST /api/design/request Full design request
GET /api/eligibility/matrix Model eligibility matrix

Training API

Method Endpoint Description
POST /api/training/start Start training
GET /api/training/{run_id} Get training status
POST /api/training/{run_id}/stop Stop training

Pipeline API

Method Endpoint Description
GET /api/pipelines List pipelines
GET /api/pipelines/{id} Get pipeline
POST /api/pipelines/{id}/execute Execute pipeline
GET /api/runs List runs

πŸ“‚ Project Structure

system2ml/
β”œβ”€β”€ app/                          # Next.js App Router
β”‚   β”œβ”€β”€ api/                      # OAuth callbacks
β”‚   β”œβ”€β”€ datasets/new/             # Dataset intake
β”‚   β”œβ”€β”€ design/                   # Design wizard
β”‚   β”œβ”€β”€ train/                    # Training pages
β”‚   β”œβ”€β”€ pipelines/                # Pipeline management
β”‚   β”œβ”€β”€ runs/                     # Run history
β”‚   β”œβ”€β”€ failures/                 # Failure memory
β”‚   β”œβ”€β”€ monitoring/               # Drift detection
β”‚   β”œβ”€β”€ design-agent/              # AI proposals
β”‚   β”œβ”€β”€ approvals/                # Approval workflow
β”‚   β”œβ”€β”€ governance/               # Audit logs
β”‚   └── login/                    # Authentication
β”‚
β”œβ”€β”€ components/                   # React components
β”‚   β”œβ”€β”€ layout/                   # Layout (sidebar, header)
β”‚   β”œβ”€β”€ pipelines/                # Pipeline designer
β”‚   β”œβ”€β”€ dashboard/                # Dashboard widgets
β”‚   └── ui/                       # shadcn/ui components
β”‚
β”œβ”€β”€ hooks/                        # React hooks
β”‚   β”œβ”€β”€ use-auth.tsx             # Authentication
β”‚   └── use-design.tsx           # Design flow state
β”‚
β”œβ”€β”€ lib/                          # Core libraries
β”‚   β”œβ”€β”€ api.ts                   # API client
β”‚   β”œβ”€β”€ types.ts                 # TypeScript types
β”‚   β”œβ”€β”€ validation/              # Constraint validation
β”‚   β”œβ”€β”€ feasibility/             # Policy engine
β”‚   └── safety/                  # Safety gate
β”‚
β”œβ”€β”€ agent/                        # AI Agent
β”‚   β”œβ”€β”€ planner.py               # Design planner
β”‚   └── rl_policy.py            # RL policy
β”‚
β”œβ”€β”€ ui/                          # FastAPI Backend
β”‚   β”œβ”€β”€ api.py                   # All API routes
β”‚   └── database.py              # SQLite database
β”‚
β”œβ”€β”€ public/                      # Static assets
β”œβ”€β”€ pyproject.toml               # Python config
β”œβ”€β”€ package.json                 # Node config
└── README.md                    # This file

🌐 Deployment

Frontend (Vercel)

# Build and deploy
npm run build

Environment Variables:

Key Value
NEXT_PUBLIC_API_URL https://system2ml-api.onrender.com

Backend (Render)

Setting Value
Build Command pip install -e ".[all]"
Start Command uvicorn ui.api:app --host 0.0.0.0 --port $PORT
Python Version 3.11

πŸ“„ License

MIT License - Copyright (c) 2026 Chandan Kumar


🀝 Connect With Me

GitHub LinkedIn Twitter


⭐️ If you like this project, please give it a star on GitHub!


Built with ❀️ by Dhairy Chauhan
Β© 2026 System2ML - All rights reserved

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages