A web-based playground for the Mojo programming language, built with Go, React, and Docker.
- Monaco Editor: High-quality code editing with syntax highlighting.
- Sandboxed Execution: Code runs inside isolated Docker containers with resource limits.
- Snippet Sharing: Share your code snippets via unique URLs.
- Docker
- Go 1.22+
- Node.js 18+
- Modular Auth Key (Required for the Mojo SDK)
The sandbox uses the public Mojo nightly builds via uv. No API key is required for this step!
docker build -t mojo-runner -f docker/Dockerfile.mojo .cd backend
go run main.goThe API will start on http://localhost:8080.
cd frontend
npm install
npm run devThe playground will be available at http://localhost:5173.
The modman CLI allows you to interact with the playground from your terminal.
cd cli
go build -o modman
mv modman /usr/local/bin/ # optional- Run a local file remotely:
modman run hello.mojo - Share a local file:
modman share hello.mojo - Ask AI to fix a file:
modman fix hello.mojo "compilation error message"
backend/: Go (Gin) API for execution and storage.frontend/: React + Tailwind CSS + Monaco Editor.docker/: Dockerfile for the Mojo execution environment.
We welcome contributions to the curriculum!
- Navigate to the
/curriculumdirectory in the project root. - Duplicate
starter-template.md. - Fill in the metadata (YAML frontmatter) and the content.
- Add your Mojo code within the
```mojoblock. - Submit a Pull Request!
Lessons are automatically loaded by the frontend. Ensure your code follows the latest Mojo 1.0 (2026) syntax:
- Use
deffor all functions. - Use
varfor all variable declarations (letis removed). - Add
raisesto functions that can throw errors.
MIT