Portfolio 2017-09-19T20:17:59+00:00


ActiveState Stackato is an industry-leading enterprise platform as a service (PaaS) product. This project involved building AOK, an all-new authentication and authorization system for Stackato. Requirements included high security and reliability, integration with existing Stackato APIs, and integration with customer authentication systems such as LDAP.


Skill Shot

Skill Shot is a pinball zine based in Seattle, with a circulation of about 2500. Skill Shot’s web presence includes a WordPress blog with multiple custom features:

  • Map- and list-based displays of pinball machines on location in Seattle, loaded live from a custom REST API service
  • Admin interface for updating pinball machine locations
  • Android location-based app that works off the same REST API

D3.js Automatic Label Placement

D3.js is a powerful visualization tool for the web, but a major shortcoming is its inability to intelligently place labels on elements such that labels do not overlap other elements or labels. This plugin implements automatic label placement for D3.js using the simulated annealing method. I substantially rewrote the API of this plugin for ease-of-use, and added support for labeling lines and areas in addition to points.



ShipIndex.org is a maritime history reference website compiling millions of citations of boats and ships in literature, journals, news, and online. This project started with upgrading an existing Rails 2 application to Rails 4.1, which required deep knowledge of the particulars of Ruby on Rails development across multiple versions. The Rails application and an accompanying WordPress blog were migrated to more secure, more reliable hosting with Heroku and WPEngine, respectively. New features are currently being added.

One interesting challenge with ShipIndex was a large reporting task that produces a gigabyte-scale XML file for consumption by a third party client. The existing implementation took about 7 hours to generate the report. By rewriting the report generator using the Go language, the report runtime was reduced to about 90 seconds.


Bird Box/Stand With Our Checkers

The Bird Box for Stand With Our Checkers, designed and launched in 48 hours, was a web-connected interactive hardware device to stimulate and react to discussion on Twitter. Built to withstand exposure to the elements and public crowds, this device provided live feedback to a protest crowd in Westlake Center in downtown Seattle.


WTF has McGinn Done?

WTF has McGinn Done? (WTFHMD) was a microsite promoting Mike McGinn’s accomplishments during his first term as mayor of Seattle. Inspiration for this project was drawn from the similar site from Obama’s first term. WTFHMD was an entirely static HTML/Javascript site with excellent performance. The site was designed and launched in 24 hours. Content was built automatically from a live Google Docs spreadsheet, allowing easy teamwork with non-technical collaborators, and simple re-deployments when content was updated.


En Plein Air Coffee Club

The En Plein Air Coffee Club (EPACC) is an informal gathering of cycle folk who like to drink coffee and play with camp stoves. Join us! Each week I’ll be posting directions to a new location for a Friday morning meeting.


Bird Box/GreenDrinks

The Bird Box for GreenDrinks is a web-connected interactive hardware device to stimulate and react to discussion on Twitter.


Bird Box/Smash Putt

The Bird Box for Smash Putt is a web-connected interactive hardware device to stimulate and react to discussion on Twitter. The Bird Box was designed to withstand a barroom atmosphere. This Bird Box was also used at the 2013 Seattle Mini Maker Faire.


Picosat Satellite

The Picosat Inspector platform is a coffee-cup-size low-power inspection satellite that can be sent out to observe larger spacecraft. This project involved designing camera and GPS daughterboards for the Picosat platform in collaboration with the Aerospace Corporation. The design was deployed in to space from the Space Shuttle Endeavor on flight STS-113.