I am a developer with a background in industrial design. I use technology to solve problems and create art.

I work at Slack in San Francisco.

I help run the record label Grind Select.

Get in touch.

Open Source Tools


A jQuery calendar plugin that uses HTML templates. Used by thousands of developers every day.


A tool for performing music in the browser using nothing but Javascript. It is written with a fluent interface that encourages improvisation. I spoke about Lissajous at the first international Web Audio Conference in Paris, January 2015.


A sentence templating engine for writing lorem ipsum generators. It was written using strict test-driven development practices in node.js and is used to power Metaphorpsum.


A utility that enables drag-and-drop loading & decoding of Audio Buffers, for use with the Web Audio API. Originally designed for Lissajous.js.


A plugin that makes it easy to use your QWERTY keyboard as a musical keyboard with the Web Audio API. Includes advanced note priority & polyphony options commonly found in popular analog synthesizers.


A simple audio programming language implemented in JS. This project was created as a way to explore how programming languages are designed and built.



An instrument for creating drum beats with text. Visited by over two million people in almost every country in the world.


A web synthesizer that turns your drawings into loops of sound.


A random metaphor generator. This was one of my first open source node projects and is used everyday by folks around the country.


A teeny tiny emoji solar system. I bought this domain for a different project but I never finished it. Thanks to The Useless Web this site has been visited by millions of people.


Grind Select

I run a record label called Grind Select along with my friends Jeremy Garber and Corey Regensburg. Each of our releases is accompanied by an interactive web experience that we hope will give listeners a unique take on the music. I do all of the design work unless noted otherwise.

Sam Greens - Soft Rugs

A site for the first single off of the Rugs EP by Sam Greens where you create line drawings that come to life in response to the music. Album artwork done in collaboration with Jon Baken aka @popcorn__10.

Museyroom - Pearly Whites

A site launched along with Museyroom's incredible debut LP Pearly Whites. I played a supporting development role on this site, letting Matt Coppola, Matt Goold, and Priya Tirtha do most of the heavy lifting.

all boy/all girl - Andrea Amati

A single by all boy/all girl inspired by Andrea Amati, credited as the inventor of the violin. We gathered prints of renaissance-era paintings as source material and created an experience that puts the listener in the world of Andrea Amati.

Kazimier & Parks Burton - Gifts EP

A Kazimier/Parks Burton split album and interactive website. Users can create little 5x5 animated gifs that create a complex background pattern animated to the beat of the music. The site uses websockets to send gifs being made in real time. Album artwork by Jordan Rosenberg.

all boy/all girl - Trophy Smasher

A game to accompany the Trophy EP by All Boy/All Girl. This game was written using paper.js for graphics and matter.js for physics. Game artwork by Jordan Rosenberg.

Moon Bounce

A site for musician and Grind Select founder Corey Regensburg. Spoiler: I love emojis.

all boy/all girl - Slagroom Satisfaction Survey

A musical website to support the release of the Slagroom LP in October of 2016. Modeled after an Arby's customer satisfaction survey which quickly falls off the rails. This project was created in collaboration with band member Nicholas Rahn.

Midifinity - An infinite collection of synthesizers

A musical website created under the Grind Select moniker which presents a unique synthesizer patch on every page of the website. Uses the AudioKeys library.

In Real Life

The Franklin Institute's "Your Brain" Exhibit

I served as a digital media designer and prototyper on the design team for Your Brain, a new permanent exhibit opened in 2014 at The Franklin Institute. My role was to work with scientists and designers to build prototypes of interactive experiences and test them with museum visitors.

The Trestleator

A custom projection mapping solution for The Trestle Inn's large projection wall. A desktop application was written in Max/MSP to provide projection mapping and video organization features. A websockets-enabled mobile site controls this software remotely. Google Calendar integration allows projections to be planned in advance.

Flora Catalogus

A nature & sound installation presented at Data Garden’s Switched On Garden 002, created in collaboration with Leslie Zacharkow. The software was written in Max/MSP. Knit forms were created by Andrew Dahlgren.

Philly Beer Week Dunkel Dare

I created and operated digital scoreboards for a competition hosted by Marc Summers, which took place from 2012 - 2014.

Get in touch.