Built by Dhairy Chauhan
Frontend (Vercel): https://system2-ml.vercel.app/
Backend (Render): https://system2ml-api.onrender.com
- Overview
- Features
- Tech Stack
- Architecture
- Getting Started
- API Endpoints
- Project Structure
- Deployment
- License
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.
- π 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
- π 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
- Input - Review dataset summary
- Constraints - Set cost, carbon, latency limits
- Preferences - Configure objective, deployment, retraining
- Review - Validate constraints & generate candidates
- Results - Select feasible pipeline
- Pre-Training Gate - Final feasibility check
- Live Training - Real-time progress & constraint monitoring
- Results - Post-training metrics & model artifacts
- π¨ Visual DAG editor with drag-and-drop
- π¦ 10 node types (Source, Transform, Model, Sink, Monitor)
- π OAuth (Google, GitHub)
- β Approval workflows
- π Complete audit logs
- π‘ Failure memory with AI-suggested fixes
- π Real-time drift detection
| 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) |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 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 β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Node.js 18+
- Python 3.10+
- pnpm or npm
# 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# Run both frontend and backend
npm run dev:all- Frontend: http://localhost:3000
- Backend: http://localhost:8000
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/datasets/profile |
Profile a dataset |
| POST | /api/datasets/validate |
Validate against constraints |
| GET | /api/datasets |
List all datasets |
| 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 |
| 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 |
| 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 |
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
# Build and deploy
npm run buildEnvironment Variables:
| Key | Value |
|---|---|
NEXT_PUBLIC_API_URL |
https://system2ml-api.onrender.com |
| 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 |
MIT License - Copyright (c) 2026 Chandan Kumar
βοΈ If you like this project, please give it a star on GitHub!
Built with β€οΈ by Dhairy Chauhan
Β© 2026 System2ML - All rights reserved