Pair-programming, agile, test-driven development. These were all things I had read about but not yet fully experienced. Until April of 2014 when I started as a Software Engineer at Asynchrony. It was a big change for me, but so far I like it a lot and I'm learning all the time.

Mobile App Development

My first project at Asynchrony was developing an iOS app that provided an office tour experience and made use of beacon location awareness technology. The team I'm on now is finishing up a hybrid mobile app using a tech stack that includes the Ionic framework, AngularJS, and Node.js. Links to the hybrid app are posted below, but you won't be able to sign in or create an account unless you have LDI as your pharmacy benefits provider.

App Store | Google Play

Seidler Software

In October of 2013 the US federal government shut down for a few weeks. My boss sent me home and told me not to work until further notice. Fortunately, I had just started a part-time contract job doing software development, and that held me over until I was allowed to return to work. Seidler Software is still a part-time gig for now, and I'm okay with that.

Polar Ice Laser Controller

In late 2013 I did some part-time work as a subcontractor for Northrop Grumman. I used Python to build a simple web application containing methods to control various hardware components connected to an embedded computer running Debian. I also built a web-based GUI for the application using HTML, CSS, and JavaScript. This system of controllable hardware components is part of a LIDAR system that will be used on a NASA mission to measure elevation of the polar ice caps. Pretty cool, huh?

Screen shot of the GUI | Photo of me on-site | More on the NASA mission


In the summer of 2013 I started as a Web Application Developer at Unisys. I liked working downtown in a neat space. If you want to get an idea of what the building looks like, check out this amateur video footage of the inside of the building.

RichFaces Upgrade

The biggest project I worked on at Unisys was upgrading the front end of an existing web application from RichFaces 3 to RichFaces 4. To prepare for this project, I spent some time brushing up on Java, Spring, and RichFaces. I also got more familiar with the MyEclipse IDE and the JBoss application server.

Minimalist Wiki

I built a wiki using Python on Google App Engine and Jinja2 as part of the Udacity course in Web (Application) Development. Contact me if you're interested in seeing the source code.

Visit the Minimalist Wiki

This Site

I decided that I wanted to create a personal website without spending much money. I chose web2py and Google App Engine because I had used web2py in a previous project and I liked the idea of free hosting via GAE. A buck a month (for the domain) isn't bad, and I think the website looks decent.


In August of 2007 I was hired by a satellite company called GeoEye (later bought by DigitalGlobe). This was my first "real" job out of college and I got the chance to work with some smart people and learn some neat technologies.

CIB Production Support

I started in a group called Production Techniques that was responsible for the support and development of production Perl scripts, among other things. Through several iterations of process improvements, and with the help of other engineers and interns, I was able to bring the number of required staff in the group I supported down from 5 to 1. In addition to deploying process improvements, I developed prototypes, performed software and system testing, added metrics-logging capabilities to our production scripts, and provided daily troubleshooting and technical support to production staff.

Calibration Support

After spending over four years in production support, I transferred to the engineering department into a group called Performance Engineering. This group was responsible for ensuring that the satellites' performance with respect to physical alignment and radiometry was meeting or exceeding requirements. When our subject matter experts needed a new tool or an improvement to an existing tool, they came to me.

One of my most successful projects at GeoEye was creating an automated QC testing framework from scratch. A coworker and I designed and developed a Python-based software solution that saved the company hundreds of man hours. Download a set of screen shots of the web-based front end

Ecosystem Simulation

In early 2010 I took a course on object-oriented analysis and design. The final project of this course was a simple ecosystem simulation involving fish, plants, and rocks in a pond. I completed this project using C++ and OOAD techniques learned in the class.

Get the code and artifacts

Simulation of Robotic Code System

In late 2006 and early 2007 I worked with Professor Bill Smart of the Media and Machines Lab at Washington University in St. Louis on my senior design project. The lab had an autonomous robotic photographer named Lewis and the researchers were in need of a more efficient way to allocate internal tasks across code modules. Using MATLAB I created graph structures representing these code modules and then applied various algorithms to find a more efficient way through the graph.

Project Website

Wireless Propagation Testbed

In the summer of 2006 I traveled to UCLA for a research internship at the Center for Embedded Networked Sensing. Three other undergraduate students and I worked with Dr. David Browne (who was then a doctoral student) on developing a prototype system that measured wireless signal strength between two directed antennas deployed in a densely populated forest environment. I was responsible for programming the indexed movement of the antennas and integrating the antenna system into the overall system.

Photo of the system | GIF demo of the UI | Get the presentation poster | Get the published paper | Photo gallery