Simon Willison spotted the Moebius 0.2B inpainting model on Hacker News, saw it needed PyTorch and NVIDIA CUDA, and decided to get it running entirely in a browser. He used Claude Code as a parallel side-project — while his main work was landing a table-creation UI for Datasette — and shipped a working demo the same day.
The key moves:
- Model conversion: Moebius originally required PyTorch + CUDA. Willison had Claude Code convert it to ONNX format so it could run client-side.
- Browser runtime: The converted model runs via WebGPU — no server, no GPU rental, no Python environment.
- 0.2B parameters, 10B-level claims: Moebius bills itself as matching the performance of models 50x its size for inpainting tasks (marking image regions for AI-generated fill).
- Live demo: The finished tool is at simonw.github.io/moebius-web/. Open an image, paint over the area to remove, click “Run inpaint,” wait.
The interesting part isn’t the model itself — small inpainting models exist. It’s the workflow. Willison ran Claude Code as a background agent handling the ONNX porting and browser integration while he worked on an unrelated Datasette feature. He described it as a “parallel agent side-project,” treating Claude Code less like a copilot and more like a second workstream.
Non-square images get letterboxed in the current demo, which limits some use cases. But the core pipeline — PyTorch model to ONNX to WebGPU in a browser — worked in a single session.
NOTE
The original Moebius model was released by HUST Vision Lab. Willison’s contribution is the browser port and ONNX conversion, not the model architecture.
The demo is live now at simonw.github.io/moebius-web/. No install, no API key — just a browser with WebGPU support.