Emil Stenström builds JustHTML, a pure-Python HTML5 parser passing all 9,200+ html5lib tests, with Copilot agent mode
Emil Stenström spent a couple of months of off-hours building JustHTML, a standards-compliant pure-Python HTML5 parser, using VS Code with GitHub Copilot in agent mode and several models (Claude Sonnet 3.7, Gemini 3 Pro, Claude Opus). He wired in the html5lib-tests conformance suite from the start, chose the API himself, threw away the first version and restarted as a rough port of Servo's html5ever, then used benchmarks, coverage and an agent-built fuzzer to harden and speed it up.
The numbers (as reported)
| Time | A couple of months of off-hours |
|---|---|
| Implementation code | ~3,000 lines (plus ~11,000 lines of tests) |
| html5lib-tests passing | All 9,200+ |
| Test coverage | 100% |
| Commits | 1,215 (per Simon Willison's follow-up post) |
Facts
- Company / subject
- Emil Stenström (independent developer)
- Tools
- GitHub Copilot (agent mode), Claude Sonnet 3.7, Gemini 3 Pro, Claude Opus
- Codebase
- greenfield
- Work type
- New library
- Stack
- Python
- Published
- 2025-12-14
- Last checked
- 2026-10-18
Caveats
Fact source is Simon Willison's write-up quoting Emil's own blog post (Emil's original wasn't reachable when researched; worth linking directly before publishing). Heavy human engineering throughout: Emil chose the design, restarted from scratch once, and says 'the agent did the typing; I did the thinking'. Problem was picked because a comprehensive test suite already existed. How much was translation of html5ever versus original work is unclear.
Source
Simon Willison (simonwillison.net), summarising Emil Stenström's write-up