Kākāpō Party
- ID
- 29039
- Status
- summarized
- Published
- 27 Sep 2026, 7:39 AM
- Fetched
- 28 Sep 2026, 8:11 AM
- Provider
- Simon Willison
- Category
- developer-ai
- Original URL
- https://simonwillison.net/2026/Sep/26/kakapo-party/
- Source URL
- https://simonwillison.net/atom/everything/
Summary
- Score
- 6.5
- Created
- 28 Sep 2026, 8:11 AM
- Tags
- Audience
- developersvibe_codersai_agent_users
What happened
Simon Willison used Claude Opus 5.5 to turn three Google-image-search kakapo photos into an HTML5 canvas pixel-art animation of 20+ kakapo jumping with confetti, for the closing slide of his keynote at WeAreDevelopers World Congress North America. He then asked a local Claude Code session to produce a 15-second video of the page, and it wrote a ~15-line Playwright script that launches Chromium at 1280x720 with record_video_dir set, loads the local file:// HTML, and fires 10 timed page.mouse.click calls between 3s and 13.2s to trigger the confetti before closing the context.
Why it matters
If you need a video of an interactive web page — a demo, a slide, a launch asset — you do not need OBS or manual screen recording. Playwright's record_video_dir plus a list of (time, x, y) click tuples gives you a deterministic, re-runnable capture, and the exact script is in the post so you can copy it. The reusable lesson is the click-spreading pattern: the script deliberately hits corners, edges and centre so the confetti effect fires across the whole canvas rather than in one spot.
Discussion angle
The two-stage handoff is the interesting part: a chat model generated the animation, then a coding agent generated the automation to capture it. Where in your own workflow could you chain 'generate the artifact' into 'generate the script that records/verifies the artifact' — and what breaks when the page needs a real click target instead of hardcoded coordinates?