While my Github profile contains many more projects in varying states, below are some highlights. Some of these were created for commercial purposes, others were things that interested me enough to do for fun.

EVE Market Data Relay

Techs: Python, Go, ZeroMQ, bottle

A high volume, ultra-high-resiliency distributed system for relaying player-uploaded EVE Online market data. A large number of EVE Online player-developed market sites use EMDR. Key technologies include Go, Python, gevent, Amazon Route53, and most importantly ZeroMQ.


Techs: Python, Requests, AWS

boto is one of the most widely used Python modules for Amazon Web Services. I started contributing back in 2011 while Mitch Garnaat was still heading up the project. Initially, I did extensive work to improve the documentation. I gradually progressed into making improvements and bug fixes on various service modules, mostly EC2, SES, and DynamoDB (which was at the time very new). I was eventually given commit access, and was very active until around the time where boto was handed over to Amazon.

I still keep an eye on the mailing list and IRC channel, but the project needs a lot less help these days with Amazon’s backing.


Techs: Python, NumPy

python-colormath is a module that handles the complex math behind colorspace conversions, color comparisons and color adaptations. This was developed while I was a Graphic Communications student at Clemson University. It is now used in both commercial and open source products.

Color Sentry

Techs: Django, Python, Linux, Postgres, C++, wxWidgets, i1 Pro Spetrophotometer

Color Sentry was a Django application with a C++/wxWidgets desktop app that read the data from a spectrophotemer and sent it to the web app. We had some limited intelligence to suggest ways to improve color accuracy on press, driven by the interpretation of the spectral data.

After graduation, I sold Color Sentry to HAVI Global Solutions. Color Sentry is still in production all over the country today.


Techs: Python, Twisted, Django

Evennia started as an experimental attempt to combine Twisted and Django to form a text-based MUD. I was newer to Twisted and Django at the time, and wanted to sharpen my skills in both. My love for MUDs make this an easy decision.

In 2006, I got the first prototype working, loosely modeled on TinyMUX, sans softcode. I worked on the project in spurts while I was a student at Clemson, ultimately handing the project over to Griatch, the current maintainer, in 2011. I currently serve more of an advisory role, but am still involved in the community.

Today, Evennia is the most popular Python MUD codebase, and is the de-facto choice if you want to use Python but don’t want to write your own. The current maintainer (Griatch) deserves as much (or more) credit for the project’s success. I list it here because of how much this project helped kickstart my Python and Django career.


Techs: Python, boto, SQS, SimpleDB, Amazon EC2, ffmpeg

While no longer actively maintained, media-nommer is/was a highly distributed ffmpeg-based encoding system. It features automatic scaling of encoding worker VMs, and is interacted with through a simple HTTP API.

AWS Elastic Transcoder came along and made media-nommer unnecessary, but media-nommer served us at Pathwright for around two and a half years. It’s not a polished product, but it is reasonably well-documented and it supported our usage case very well.


Techs: Python, requests

We needed to integrate with PayPal more closely at Pathwright, but there weren’t many quality PayPal for Python libraries at the time. We found a promising but inactive project, and I started contributing to it. Eventually, the original maintainer (Pat Collins) set us as the authoritative github repo for the project, and I took over maintainership.

We only cover the old NVP API, but that’s going to be around until their new REST API is available in more than a handful of countries (as it was at the time of this description’s writing)


Techs: Python, suds

A very thin wrapper around FedEx’s SOAP API. Mostly just deals with some of the unpleasantries with suds+SOAP, so you can interact with the SOAP objects instead of figuring out the right concoction yourself.


Techs: Python, requests, Amazon Route53

A few years ago, boto’s (and AWS’s) route53 API was very user-unfriendly, so python-route53 was born to provide a more simple, pythonic API for the service. It may or may not be necessary anymore, but still works.


Techs: Python, Django, Celery, Amazon SES

Based on hmarr’s django-ses, this is a Django email backend that defers mail sending to a celery task in the background. This is done transparently, making this a drop-in solution. As with any AWS service, response times and availability can be unpredictable. We wanted to make sure all emails being sent wouldn’t hang up our app servers due to said variations in responsiveness and availability in SES.


Techs: Python, Django, boto, DynamoDB

A drop-in Django session backend that uses DynamoDB. This hasn’t been touched in two years, but a few people still use it.


Techs: Python, requests

Wrote a Python HTTP client for the Bluefin payment system (https://www.bluefin.com/). The HTTP APIs exposed by Bluefin were very poor, as was the documentation, so this was particularly challenging to piece together.

While not widely used at all, this module runs hundreds of thousands of dollars worth of transactions each year in a production setting.