I'm a front-end web developer with a focus on modern JavaScript workflows and tooling, and a yen for functional programming.


Source Control: Proficient

JavaScript: Advanced

CSS: Advanced

Web Standards: Proficient

Industry Practices: Proficient

Errata: Python, Go, Node.js, Express, PostgreSQL, shell scripts

Open Source

Async.js view on GitHub

For this popular and highly-depended-upon library, I researched, implemented, and tested a function that solved a user’s problem with cyclic dependencies becoming deadlocked. I adapted a proven algorithm (Kahn’s algorithm) to discover any circular references in the passed object. The community gave supportive comments and cooperation on my pull request and ultimately merged the changes.

color view on GitHub

color is a JavaScript color conversion library. I was using this library for an exploratory project, when I realized that a color might shift when setting one of its component color values to the same value multiple times. I introduced a test to demonstrate the bug, then ported the fix that I had applied in my own code to become part of the library.


Concert Explorer

  • angular
  • ionic
  • sass
  • apache cordova
  • angular ui router
  • google maps javascript api
  • bandsintown web api

Apps like BandsInTown and Songkick allow you to explore concerts you’re likely to enjoy by searching within a geographic region. With this integration, I wanted to take that location-based search experience in a new direction by combining a map view for a spatial presentation. The result is fast, fun panning and zooming to locate concerts not just in your area, but anywhere around the globe. I used Ionic to quickly build out the app not only as a great mobile and desktop web experience, but also as an installable iOS application.

Flickr Search

  • angular
  • angular-animate
  • sass
  • webpack
  • flickr web api

Flickr has an enormous photo-sharing community, and much of their data can be explored through their web API. This app compiles a photo stream using a keyword search. I built it as a way to familiarize myself with the AngularJS facilities for animations and network requests.

Calendar Widget

  • angular

This is a reusable, extensible directive to include a calendar widget in any AngularJS application. Labels and control features are customizable to the needs of the interface and respond automatically to the user’s language and location via the Angular $locale service.

Printing Technology Quiz

  • jquery
  • less

I started my career in the printing industry, and I’ll always retain my fondness for well-crafted, unique and meaningful printed material. This small interactive page gives the user a brief, hopefully fun, introduction to some aspects of the printing process they may not have known about before. The quiz is built with jQuery and LESS, and performs its animations with ordinary CSS @keyframes rules.