A modular drag-and-drop neural network editor built for rapid prototyping and experimentation.
- Frontend (UI): React + Vite + Tailwind + @xyflow/react
- Backend (Logic & State): Convex (TypeScript) - Handles saving graphs and generating PyTorch code
- Runner (Execution): Python + FastAPI + UV - Local service that executes generated code
cd frontend
npm install
npx convex dev # Follow the login prompts
npm run devcd backend
uv sync # Install dependencies
uv run python main.py # Start the server on port 8000This setup deploys the frontend to Netlify, the Convex backend in Convex Cloud, and the FastAPI runner on Render (free tier).
cd frontend
npx convex deployCopy the deployment URL (looks like https://<name>.convex.cloud).
- Create a new Render service from the repo root using the included
render.yamlblueprint. - Set the environment variable
ALLOWED_ORIGINSto your Netlify site URL, for example:https://your-site.netlify.app - Deploy and copy the service URL (looks like
https://<service>.onrender.com).
- New site from Git
- Base directory:
frontend - Build command:
npm run build - Publish directory:
frontend/dist
- Base directory:
- Set these environment variables:
VITE_CONVEX_URL= your Convex deployment URLVITE_RUNNER_URL= your Render service URL
If you use a custom domain, add it to ALLOWED_ORIGINS on Render (comma-separated list).
- Frontend: React, TypeScript, Vite, Tailwind CSS, React Flow, Lucide Icons
- Backend State: Convex
- Execution Engine: Python 3.11+, FastAPI, PyTorch
- Package Manager: npm (frontend), uv (backend)
- Dataset
- Transform
- Model
- Loss
- Optimizer
- Trainer
weave/
├── frontend/ # React + Vite + Convex frontend
│ ├── src/
│ ├── convex/ # Convex functions (auto-created)
│ └── package.json
├── backend/ # Python execution engine
│ ├── main.py
│ ├── requirements.txt
│ └── pyproject.toml
└── README.md
Hackathon Project - MIT