Libraries

Open source JavaScript libraries I have made over the years.

  • d3-ternary

    A D3.js module for creating ternary plots, triangular diagrams that show the proportions of three-component systems. Every point in the triangle corresponds to a unique composition of the three components.

    npm install d3-ternary

  • react-windrose

    A React component library for wind rose charts, which show the distribution of wind speed and direction. D3.js does the scales and calculations, React renders the SVG.

    npm install react-windrose

  • useFavicon

    A React hook for dynamically drawing on the favicon. Composite badges, text bubbles, or progress indicators onto your existing favicon with the Canvas API, or swap in an emoji. Useful for notifying users of changes while they are on another tab.

    npm install react-usefavicon

  • @macrostrat/geo-timescale

    An interactive, zoomable geologic timescale built with D3.js. It shows the International Chronostratigraphic Chart from eons down to stages, with the ratified boundary ages. Keyboard accessible too. I am not the original author, but I thoroughly modernized and improved it in 2021 and again in 2026.

    npm install @macrostrat/d3-timescale