Simon Willison ports the Moebius inpainting model to the browser with Claude Code
Key idea
A case study in practical "vibe coding" – Willison did not write the code himself; he directed Claude Code agents to convert 1.24 GB of model weights to ONNX, build a browser UI with WebGPU, and use CacheStorage API for efficient local model caching.
Context
Moebius 0.2B is an inpainting model that removes unwanted regions from images, originally requiring NVIDIA CUDA. Willison ran the port in parallel with another Datasette project, illustrating how multi-agent supervision compounds productivity.
Why it matters
A concrete, reproducible example of a non-trivial ML model being shipped to the browser with almost no hand-written code. Willison is one of the most-followed practitioners on LLM tooling, and his agent-supervisor workflow has become a reference pattern.
Details / arguments
- Used Claude.ai for the research phase ("muse on the feasibility"), which proposed ONNX Runtime Web on WebGPU
- Converted PyTorch weights to ONNX, published 1.24 GB to Hugging Face
- Demo runs fully client-side, ~1.3 GB downloaded into the browser
- Deployed via GitHub Pages, no server required
Open original source
simonwillison.net