AI-powered ML experimentation platform. Upload a dataset, and AI agents autonomously perform EDA, data preparation, and model training — with real-time streaming visualization.
- Gallery — Create experiments by uploading CSV/Parquet datasets
- Studio — Split-pane workspace: chat with the AI agent (left) + canvas with reports, files, and live metrics (right)
- EDA — Agent explores data quality, distributions, correlations, and generates a statistical report
- Prep — Agent cleans, encodes, and splits data into train/val/test sets
- Train — Agent trains and tunes models with live metrics streaming to a dashboard
- Agent: Claude Agent SDK with custom MCP tools
- Backend: FastAPI + SQLAlchemy + SSE streaming
- Frontend: Next.js 14 + Tailwind + Recharts
- Execution: Modal sandboxes (isolated Python, optional GPU)
- Storage: S3/MinIO (artifacts) + Modal Volumes (workspace)
- Database: SQLite (dev) / PostgreSQL (prod)
- Python 3.11+
- Node.js 20+
- Modal account
- Anthropic API key
git clone https://github.com/lucastononro/trainable-monorepo.git
cd trainable-monorepo
cp .env.example .envEdit .env and add your ANTHROPIC_API_KEY.
pip install modal
modal token setcd backend
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8000cd frontend
npm install
npm run devOpen http://localhost:3000.
Runs PostgreSQL, MinIO, backend, and frontend together:
cp .env.example .env # Add your ANTHROPIC_API_KEY
docker compose upThis starts:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- MinIO Console: http://localhost:9001 (minioadmin/minioadmin)
cd backend
source .venv/bin/activate
pytest tests/ -v| Variable | Required | Default | Description |
|---|---|---|---|
ANTHROPIC_API_KEY |
Yes | — | Claude API key for the AI agent |
MODAL_TOKEN_ID |
Yes* | — | Modal auth (*or run modal token set) |
MODAL_TOKEN_SECRET |
Yes* | — | Modal auth |
DATABASE_URL |
No | SQLite (local file) | PostgreSQL connection string |
S3_ENDPOINT |
No | AWS S3 | S3-compatible endpoint (MinIO, etc.) |
AWS_ACCESS_KEY_ID |
No | — | S3 credentials |
AWS_SECRET_ACCESS_KEY |
No | — | S3 credentials |
CLAUDE_MODEL |
No | claude-opus-4-6 |
Model for the AI agent |
backend/ FastAPI application
routers/ API endpoints (experiments, sessions, stream, files)
services/ Agent orchestration, sandbox, broadcaster, validators
tests/ pytest test suite
frontend/ Next.js application
src/app/ Pages (gallery, studio)
src/components/ React components (chat, canvas, metrics, modals)
src/lib/ API client, SSE connector, types
docs/ Architecture and agent documentation
See docs/ARCHITECTURE.md for detailed system design and docs/agents.md for agent documentation.
GitHub Actions runs on every push to main and on pull requests:
- Backend: Ruff lint + format check, pytest, Bandit security scan
- Frontend: ESLint, TypeScript typecheck, Next.js build
