I remember, quite vividly, a moment during a tutorial by Dr. Martin Parker at the University of Edinburgh on the topic of programming digital instruments in Max/MSP. Dr Parker had an obscure interactive video game controller, something like the failed predecessor to the Nintendo Wii with retractable strings for controllers, which he had hacked in order to get input in Max and, over the course of 20 minutes, turned it into a playable electronic instrument. The instant he made the last connection in the patch and pulled the string of the newly minted instrument, I was struck with a moment of "Oh my god, you could do anything."

That feeling of limitless potential is what excites me most about software development; the question "Could this be done?" replaced with "How could this be done?"

Below is a sampling of personal projects I've worked on recently. While much of the work represented below is written in JavaScript, I am very interested in Rust and have used it heavily in my Proteus Audio and in my Canopie Club projects that I am currently working on. I also have professional software experience with PHP and Python, and audio experience with modular programming environments, such as Max/MSP and Reaktor.

In-depth work

Development case studies

Experiments and tools where the process, technical choices, and next steps are part of the story.

Selected client and personal work

Website showcase

A browseable selection of sites designed and developed over the last fifteen years.

Website showcase

Websites

I've had the pleasure of working on a whole host of websites over the last fifteen years. Below is a selection of some of those that I've designed and developed for clients or for my own personal projects.Browse websites
Websites screenshotWebsites screenshot
Websites screenshot mobileWebsites screenshot mobile