James Coombs

Tag: #javascript

7,798 Components. Import One, Ship One.

7,798 Components. Import One, Ship One.

T7,798 generated components in one package. The real cost of the barrel file is not bundle size (it tree-shakes fine), it is build-time parse, plus a dual type-resolution trap that runs but will not type-check.

javascripttypescriptwebdevnpm
46KB for Twelve Shapes: When Not to Reach for the Animation Library

46KB for Twelve Shapes: When Not to Reach for the Animation Library

A 46KB animation library for twelve shapes. The build-vs-buy math that said write the tiny requestAnimationFrame engine instead, and when that call is the right one.

javascriptwebperfanimationwebdev
Why Animating an SVG the Obvious Way Breaks It

Why Animating an SVG the Obvious Way Breaks It

The obvious way to morph an SVG shape tears it apart. Why it breaks, and the least-squares transform fit that makes the animation actually work.

javascriptsvganimationwebdev
© 2026 James Coombs
Astrofy Template ⚡️
Profile image
  • Home
  • Projects
  • Case Studies
  • Blog
  • Resume
  • Contact