The Technique: Parallel Agent Side-Projects

Simon Willison, creator of Datasette and a prolific Claude Code user, demonstrated a workflow that turns idle agent waiting time into productive experimentation. While his main Claude Code session in Codex Desktop was refactoring Datasette's UI, he spun up a second Claude Code instance in a terminal to port the Moebius 0.2B image inpainting model from PyTorch/CUDA to browser-based WebGPU.
The result: A fully functional inpainting demo at simonw.github.io/moebius-web/ — built entirely while waiting for his primary agent to finish.
Why It Works
Willison's insight is that coding agents have a predictable rhythm: they crunch on hard problems, then pause. During those 5-10 minute waits, you can either spin your fingers or start a second agent on something exploratory.
"An amusing thing about coding agents is that the harder a problem is the more time you have to get distracted while you wait for them to finish crunching!"
How To Apply It: Step-by-Step
1. Research First with Claude.ai
Before touching Claude Code, Willison used Claude.ai (with its GitHub repo cloning ability) to assess feasibility:
- Prompt: "Clone https://github.com/hustvl/Moebius/ and tell me if they published the code and weights to run this model anywhere"
- Follow-up: "For Moebius what are the options for running it right now - Python and NVIDIA CUDA only or other options too?"
- Final: "Muse on the feasibility of porting it to Transformers.js or similar and running it in a browser"
He saved the final answer as research.md — the key artifact to hand off to Claude Code.
2. Prepare Materials in /tmp
Set up the workspace with all resources Claude Code might need:
cd /tmp
mkdir Moebius
cd Moebius
git clone https://github.com/hustvl/Moebius
GIT_LFS_SKIP_SMUDGE=0 git clone https://huggingface.co/hustvl/Moebius Moebius-weights
git clone https://github.com/huggingface/transformers.js
git clone https://github.com/microsoft/onnxruntime
3. Initialize the Project with Git
Start tracking changes from the beginning:
mkdir /tmp/Moebius/moebius-web
cd /tmp/Moebius/moebius-web
git init
git add research.md
git commit -m "Initial research by Claude Opus 4.8"
4. Launch Claude Code with Context
cd /tmp/Moebius
claude
Prompt:
Read ./moebius-web/research.md - your goal is to port this model to ONNX and WebGPU so we can run it directly in a browser, with a simple UI
Then immediately follow up:
Build this in /tmp/Moebius/moebius-web and commit early and often, also maintain a notes.md file in there with notes about what you figure out along the way - also start by writing out a plan.md in there and update that plan as you work too
5. Check In and Correct
When Claude Code produced something, Willison tested it in Chrome and pasted errors back. He also asked:
Tell me what URL I can visit in my own browser to try this
This forced Claude to output a concrete path he could verify.
6. Deploy with Agent Help
Willison used Claude Code to publish the 1.24GB ONNX weights to Hugging Face and set up GitHub Pages for the frontend. Key prompt:
I want to publish the moebius-web folder to GitHub, minus the large files (so maybe minus the models/ folder), such that when I turn on GitHub Pages for that repo navigating to https://simonw.github.io/moebius-web/ serves the UI
He told it the final URL upfront so it could fix relative paths.
7. Fix Caching with a Subagent
When the model weights reloaded every time (1.3GB download!), Willison used a subagent to inspect a working demo:
look in /tmp/Moebius/whisper-web (with a subagent) and see how they do this
Claude discovered the caches.open("transformers-cache") pattern and added it to the project.
Key Takeaways for Your Workflow
- Always prepare a
research.mdbefore starting Claude Code on a new project. It saves context and sets direction. - Maintain
notes.mdandplan.mdduring the session. They're invaluable for resuming later or handing off to another agent. - Tell Claude the final deployment URL upfront so it can fix paths and configurations.
- Use subagents to inspect other projects without bloating your main context window.
- Commit early and often — Claude Code's
gitintegration means you can always roll back bad experiments.
Willison's parallel agent technique turns downtime into shipping time. Next time your main agent is crunching, don't wait — spin up a second one.
Source: simonwillison.net









