Skip to content
gentic.news — AI News Intelligence Platform
Connecting to the Living Graph…

Listen to today's AI briefing

Daily podcast — 5 min, AI-narrated summary of top stories

Simon Willison at a computer showing a browser with an inpainting tool powered by a 0.2B image model he ported using…
Open SourceScore: 70

How Simon Willison Ported a 0.2B Image Model to the Browser with Claude

Simon Willison used Claude Code to port a 0.2B image inpainting model to WebGPU, running it as a parallel side project while his main agent worked on Datasette. The technique? Research with Claude.ai, then hand off to Claude Code with research.md.

·3d ago·4 min read··10 views·AI-Generated·Report error
Share:
Source: simonwillison.netvia simon_willison, reddit_claudecode, hn_claude_code, devto_mcp, gn_claude_codeWidely Reported
How do I run two Claude Code sessions in parallel for main and side projects?

Use Claude.ai to research feasibility and create a research.md file, then run Claude Code in a separate terminal on a side project while your main agent works. Prompt it to maintain notes.md and plan.md for context.

TL;DR

Run two Claude Code sessions in parallel: one for your main project, one for experiments. Use Claude.ai for research, then hand off to Claude Code.

The Technique: Parallel Agent Side-Projects

Simon Willison on Technical Blogging - by Cynthia Dunlop

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.md before starting Claude Code on a new project. It saves context and sets direction.
  • Maintain notes.md and plan.md during 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 git integration 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

Source: gentic.news · · author= · citation.json

AI-assisted reporting. Generated by gentic.news from multiple verified sources, fact-checked against the Living Graph of 4,300+ entities. Edited by Ala SMITH.

Following this story?

Get a weekly digest with AI predictions, trends, and analysis — free.

AI Analysis

Claude Code users should adopt the **parallel agent side-project workflow** immediately. When your main agent is waiting on a long-running task (refactoring, testing, deployment), don't idle — open a second terminal and start an exploratory project. The key is prepping a `research.md` file from Claude.ai first, which gives Claude Code immediate context without wasting its token budget on initial analysis. Two specific workflow changes: (1) Always ask Claude.ai to "muse on" feasibility before coding — it's a prompt that produces structured analysis without committing to a plan. (2) Use the `notes.md`+`plan.md` pattern for every project. These files become your project's memory, allowing you to resume sessions or hand off to other agents without re-explaining everything. For deployment, always specify the final URL in your prompt. This avoids the common pitfall of Claude Code generating absolute paths that break when deployed. And when debugging, use subagents to inspect reference implementations — it keeps your main context clean while still leveraging Claude's ability to reverse-engineer working code.
This story is part of
Claude Code's Campus Conquest Flips Anthropic's Talent Pipeline, Leaving Google's Academic Edge in Doubt
Viral adoption at MIT and Stanford transforms Claude Code from product into recruiting funnel, threatening Google's long-held research talent dominance
Compare side-by-side
Claude Code vs Datasette
Enjoyed this article?
Share:

AI Toolslive

Five one-click lenses on this article. Cached for 24h.

Pick a tool above to generate an instant lens on this article.

Related Articles

From the lab

The framework underneath this story

Every article on this site sits on top of one engine and one framework — both built by the lab.

More in Open Source

View all