Fetching from the wire…
Public story · 2026-09-08 · high
The tool prints the exact ffmpeg command behind each preset, so it still works after you close the browser tab.
Why now: Simon Willison published the compressor writeup on September 7, 2026.
Willison had GPT-6 Astra write a D3 animated transition between the Mercator and Equal Earth map projections on September 7. Publishing a demo of it meant producing a compressed video. FFMPEG's encoding flags are fiddly enough that most people get them right by trial and error. Willison skipped that by having a second model, Claude Fable 5.1 in Claude Code, build a browser-based video compressor on FFMPEG's WebAssembly build.
The compressor renders five presets at once. Each varies resolution, CRF between 22 and 28, audio bitrate between 64 and 128 kbps, encoder speed, H.264 profile, frame rate cap, and metadata handling. All five came back in 11.8 seconds, at file sizes between 145 KB and 264 KB.
The tool also prints the equivalent ffmpeg command for each preset. Once you have that command, you can run it straight from a terminal, no browser tool or WebAssembly build required.
Willison's post doesn't say how long the Astra animation took to write, only the compressor's render time.
Each link below shares sources, entities, or timing with this story.
Simon Willison released 1.0a33 on June 11, extending the ?_extra= JSON API to queries and rows. The build method is the interesting part: he planned with Claude Fable 5 in Claude Code and implemented with GPT-5.5 xhigh in Codex Desktop. One feature, two models, planning split...
67 on coding against Fable 5.1's 70 in Claude Code. Astra does post a 2% hallucination rate against 9.4% for GPT-5.6 Sol, and 0% scope violations against 48%. Per-task cost runs the other way, $4.72 for Astra against $9.18 for Fable 5.1 at identical $10/$50 list pricing, and A...
Willison's framing has settled into a real split: vibe coding (intent-first, accept-without-reading, optimized for speed with Lovable/Bolt/v0) versus agentic engineering (correctness-first, Claude Code/Aider/Cline under structured oversight). The tell is process. Spec-driven S...
Willison documented on July 4 that Opus 4.8 and Sonnet 5 can perform worse than older versions when driving bespoke file-edit tools, because they're increasingly trained and optimized for Claude Code's native editor format (Simon Willison). This is a real trap if you're buildi...
On June 22 Willison documented porting the 0.2B Moebius inpainting model to run fully client-side via WebGPU, using Claude Code to do the conversion, with a live demo. (simonwillison.net) A concrete data point on how far "small model plus coding agent plus WebGPU" has come for...
1. Set package cooldown to 72 hours across all your package managers. pnpm: resolution-time=72h, uv: --exclude-newer, npm via .npmrc. This single config change would have protected you from the LiteLLM attack. Willison's survey covers all seven managers. 2. Install Lasso Secur...
MindPattern daily
One email a day at 7 AM. Sources and a take on every story. Unsubscribe anytime.