Letterlocking is the historical practice of folding and sealing letters to become their own envelope. Hundreds of different letterlocking styles have been cataloged, but most of what we know about letterlocking is deduced from opened letterpackets. This project uses x-ray microtomography and a novel "virtual unfolding" approach to read sealed letterpackets without opening them.

This app simulates how any origami crease pattern will fold. It calculates the geometry of folded or partially folded origami using a dynamic, GPU-accelerated solver and illustrates physical properties of the folded material. It also supports an immersive, interactive VR mode using WebVR. Code on Github.

( 2018 - present )

An orrery is a mechanical model of the solar system. This is some work in progress of an orrery that depicts the orbits of the Earth and moon around the Sun.

( 2016 - present )

Shader programs are executed by the GPU to perform highly parallel computations much more efficiently than possible with a CPU. These are a collection of programs I've written (mostly physics simulations), where math or other logic is processed in WebGL fragment shader programs in order to solve a large system efficiently.

This interactive design tool simulates loading patterns and solves for the geometry of thin-shell structures under pure compression. Based on the form-finding techniques of Antoni Gaudí and his contemporaries. Code on Github.

( 2015 - 2017 )

A 3D CAD and simulation tool for modular robotics. AMOEBA primarily serves as a research tool projects at CBA, however, in building this tool I was also thinking about how to package structural analysis in a form that would be appealing and accessible to novice users - where models could be built and meaningfully simulated in a matter of minutes with no prior experience.

( in progress )

3D printed gimbal mechanism based on a differential gear system. This is a side project that I've been working on here and there for years, but hope to finish up at some point. More info coming soon.

( 2014 )

A standalone, grid-based MIDI instrument that can be booted up into various musical applications. Analog motion sensors provide a means of gestural control and playful interactions. Supported by an event-based programming protocol for easy application development.

A follow up to the 3D printed records project, this is a more accessible means of fabricating records with a laser cutter. Includes demos of records cut records from wood, acrylic, and paper.

An experiment testing the limits of 3D printing, this program converts digital audio recordings into 3D-printable, 33rpm records that play on ordinary turntables. Includes demos of some of the records I've printed.

( 2012 )

A collection of projects and tutorials about using an Arduino to perform digital signal processing (DSP) on audio signals. All projects are documented on Instructables with example code.

( 2012 )

An Arduino-powered, sample-based drum machine used for live audio sequencing/looping. Memory limitations of the Arduino give this device its characteristically gritty sound. This project builds on the digital signal processing tutorials discussed in Arduino DSP. 

A sound sculpture that responds to light stimuli to construct an audiovisual interpretation of its environment. Light sensors in the device pick up changes in its surroundings and translate them to sound and visual patterns.

The monome is an open-source electronic instrument by Brian Crabtree and Kelli Cain that can be programmed for a wide variety of (mostly) MIDI and audio applications. These are a collection of MaxMSP applications I've written for it.

A novel leg mechanism I designed and built, inspired by the work of Theo Jansen.

( 2010 )

An IR multitouch system based on the open source monome project. Used for controlling various audio and MIDI applications via MaxMSP. Designed to be inexpensive, thin, modular, and scalable.

( 2010 - 2013 )

MaxMSP is a graphical, flow-based programming language that makes it easy to build interactive audio, MIDI, video, and graphics applications without any prior experience writing code. This is a collection of projects and tutorials I've written that involve MaxMSP.

( 2012 - present )

I worked at instructables.com from 2012 to 2014 as a content creator, assistant tech editor, and front end/iOS developer. While I was there I made and documented many projects. This is a collection of step-by-step projects and tutorials I've posted on Instructables.