lucasmarkes/hairline

Isometric line figures that answer the pointer. For React and for anything with a DOM.

What it solves

Hairline provides a collection of 33 interactive, isometric line-based figures that respond to user pointer movement. It solves the problem of adding lightweight, performant, and visually consistent interactive UI elements to web applications without external dependencies.

How it works

The library uses a shared requestAnimationFrame loop to render isometric graphics into a DOM element. It supports React components or vanilla JavaScript/TypeScript. Each figure defines its own interaction logic—such as how it reacts to hover or movement—and allows developers to customize behavior via an intensity setting and CSS variables for theming. It also includes CLI-based "skills" for coding agents (like Claude Code or Cursor) to generate new figures or adapt existing SVGs into the Hairline format.

Who it’s for

It is designed for frontend developers and designers who want to add interactive, "live" isometric illustrations to their websites or dashboards. It is also for power users of AI coding agents who want to automate the creation of custom interactive UI components.

Highlights

  • Includes 33 pre-built interactive figures (e.g., card trays, rotating turntables, commit graphs, and mechanical locks).
  • Zero-dependency, ESM-only library with optional React support.
  • Highly performant: figures only consume resources when active or on-screen.
  • Accessible by default, with support for aria-label and keyboard navigation for specific components.
  • Includes AI agent skills (hairline-create and hairline-adopt) to generate or convert custom designs into interactive figures.

Related

  • Project
  • Project
  • Project
  • Project
  • Project