Design Technologist at Cortico in Cambridge, MA.
I enjoy making highly usable interactive tools for the web.
An exploration of various ways of working with geo data on the web. Includes d3-geo, canvas, and Leaflet. Made in 2017.
Demonstrates how to write to framebuffers with shaders in regl, enabling stateful updates of particles. Made in 2017.
Shows 100,000 points moving between various layouts smoothly thanks to WebGL. Uses regl and d3. Made in 2017.
Circles moving in straight lines producing an illusion of a larger circle rotating. Uses canvas and d3. Made in 2017.
Given the end points and control points along a bezier curve, get any point and any angle along the curve. Uses d3. Made in 2017.
Shows 7,000 points animating smoothly between different layouts. Uses canvas and d3. Made in 2017.
Playing with svg's <use> tag to randomly generate mandalas. Uses svg and d3. Made in 2016.
Animating particles moving across the background of a page with lines connecting them when they're close to one another. Uses canvas and d3. Made in 2016.
Animate 20,000 rectangles changing position and color. Uses canvas and d3. Made in 2016.
Draws a jagged line between any two points with configurable parameters. Uses svg and d3. Made in 2016.
An attempt at creating an at-a-glance visual summary of an NBA player's shooting performance. Uses svg and d3. Made in 2015.
A command-line tool for creating and publishing blocks. Created by Gabriel Florit.
Interpolates <path> d attribute smoothly when A and B have different number of points.
Create lines that indicate where data is missing with gaps or differently styled line segments.
An interactive UI for editing d3 v4 scales in your browser.
Populates a width prop of a React component to its parent's width.
A higher-order component for React to add derived props for better performance.
An extensible table component for React that is driven by column configuration.
A library for managing state through query parameters in the URL in React.
A collection of utility functions for helping with data visualization.