Visual programming platform for ML education. Students drag and drop blocks to build ML workflows, run them against a live Jupyter kernel, and get help from a Claude-powered assistant. No Python required. Instructors write content in regular Python or Jupyter notebooks and a compiler converts it into block-based lessons.
Tools like Scratch and Blockly require developers to manually define every block. ML has too many library functions for that to be practical.
The block compiler takes a .py or .ipynb file, parses the AST, infers data flow between operations, and outputs an executable block graph wired to the actual Jupyter kernel.
Pipeline: Python source -> AST analysis -> block graph -> live execution
- Visual block workspace - Blockly editor with a custom Python/ML block library: data loading, model training, evaluation, visualization
- Code-to-block compiler - Upload any
.pyor.ipynband get a runnable block graph back - Live execution - Blocks execute against a real Jupyter kernel over WebSocket with streaming output
- AI assistant - Claude in the workspace sidebar via Vercel AI SDK with streaming
- MCP server - Block compilation exposed as a tool for agent workflows (FastMCP)
- Teacher dashboard - Create classes, author tutorials with sequenced content, assign projects, track students
- Student dashboard - Join classes via code, complete tutorials step-by-step, submit assignments
aibee/
├── apps/
│ └── app/ Next.js 15 frontend + API layer
├── services/
│ └── blockgen/ Code-to-block compilation service (Python + FastAPI)
└── infra/
├── runner/ Jupyter execution environment (Docker)
├── db/ PostgreSQL
├── redis/ Cache + session storage
└── cloud/ Deployment configuration
Browser (React + Blockly)
├── REST ──────────────── Next.js API routes ── PostgreSQL (Neon / Drizzle)
│ └─── Redis
├── WebSocket ─────────── Jupyter kernel (Docker)
└── blockgen API ──────── FastAPI service
└─── MCP server (FastMCP)
| Frontend | Next.js 15, React 19, TypeScript, Tailwind CSS |
| Visual editor | Blockly (extended with custom block library) |
| Auth | NextAuth.js (credentials + OAuth) |
| AI | Claude (Anthropic SDK), Vercel AI SDK |
| Agent protocol | Model Context Protocol (MCP) |
| Block compiler | Python, FastAPI |
| Database | PostgreSQL via Neon (serverless), Drizzle ORM |
| Cache | Redis, ioredis |
| Execution | Jupyter kernel API (REST + WebSocket) |
| Infrastructure | Docker, Docker Compose |
apps/app - Next.js app. Auth, database, Blockly workspace, Jupyter execution, AI chat, teacher and student dashboards.
services/blockgen - Compiles Python source files and Jupyter notebooks into executable Blockly block graphs. Also serves as an MCP tool.
infra/runner - Dockerized Jupyter environment for live code execution.
infra/db - PostgreSQL schema: users, classes, tutorials, projects, assignments, blocks, categories.
infra/redis - Redis for caching, sessions, and rate limiting.
infra/cloud - Deployment and infrastructure configuration.
