Examples of Work

BuyBack Prices Plugin

This WordPress plugin will show an ISBN input form and then display book meta data and buyback pricing information from multiple vendors. Free and easily integrated into any WordPress site.

Gyta BuyBack Plugin

A client of KobiBooks (below) asked if I could create a WordPress plugin that would allow him to buy back devices. Gyta BuyBack was created as a result of that request. This plugin modifies the WooCommerce system to function as a buyback system. It adds buyback payment methods and shipping services specifically designed for buyback. Order emails and the order-administration interfaces are modified as well. Full documentation and installation guide are provided on the plugin’s website.


After creating a variety of one-off book buyback websites, and maintaining each of them and their customizations, I decided to create a SaaS solution that would work for all of my book-buyback clients. This software would allow complete front-end customization and extensive back-end customization as well while being compatible with the core code and future updates. Administration of many systems was easy as they all automatically updated from the central repository automatically.


Amazon is a primary data source for any book buyback company. Unfortunately, Amazon’s APIs are terribly written, difficult to use, and most importantly, have strict limits on their quotas. I created MegaMWS to get around all of these issues. It uses a combination of parallel requests, caching, and distributed access keys to be able to serve Amazon data to multiple users simultaneously while increasing the effective quotas by distributing the load between accounts. It is also designed to be scalable for a large number of users and requests with Amazon MWS load balancing and auto-scaling.

Internet Want List

I have a few clients that purchase books off the internet and need the ability to run a large list of books with specific prices against multiple marketplaces to find the best values. Internet Want List tackles this problem by accepting those lists of books with their target prices and scans their selected marketplaces for listings that match. Automatic filtering rules are also applied to limit spam or invalid listings, and to avoid unwanted sellers.

older projects listed below

Screen Shot 2016-01-04 at 5.12.53 PMCollegeFocus wanted a book-buyback website, and this was very quickly put together with a combination of copy/paste from previous projects, the help of Composer, and a good helping of custom programming as needed. The result is a very fast site with clean code that I’m very happy with.

Screen Shot 2016-01-04 at 5.10.37 PMTwinCitiesFun.com wasn’t mobile friendly. Twitter Bootstrap fixed that, and now it’s happier.

The client was told that the current site “could not” be upgraded to a responsive design. Obviously, that was not the case.

Aegis Clearance has all kinds of modern technology behind it:

  • API integrations with Drug Screen & Background Check providers
  • SCORM frontend for training content
  • eReference system with cheat-detection
  • e-Signature system with virtual signatures and PDF archives
  • Best practices for password management, network security, and data storage
  • 100% responsive design

I created my own project management and time tracking system.  It has drag-and-drop re-ordering capabilities and an easy interface for starting/stopping timers on both name projects as well as ad-hoc items.  All timers are then visible on a reporting page for later invoicing.

The Kirkland Project Management system is a fast an efficient way for a manager to add, remove, assign, and re-prioritize quickly-changing projects.  Engineers can quickly see which projects are available, which they’re already working on, and the status of the team.  Information can be updated without refreshing by simply clicking where edits need to be made.

The Engineering Dashboard gathers data from both internal and external systems to present a unified look at the entire organization’s technical status.  If any servers are having difficulties, they’re top priority.  Next up are automated bug reports of anything that has caused PHP to complain.  Peer reviews are kept up to date and support tickets are kept under control.  Correspondence with an internal communications system is next up and after all the basics are handled, it’s on to various priorities of programming tasks.

Responsive design is where everything is headed these days.  Here a traditional shopping cart on the desktop (left) works just as well on the mobile version (right) so the user gets the same great experience and the programmer only has one interface (with multiple CSS media tags) to create.

REST-based API systems is how most websites communicate with each other.  Here an example of a REST-based system’s documentation shows how the API works and what the programmer can do with it.  Results can be returned in XML or JSON flavoring and other options can be specified via URL parameters.

Here’s a simple example of a command-based controller.  Really easy for a future programmer to come in and figure out what’s going on.

Screen Shot 2015-02-11 at 8.13.19 AMScreen Shot 2015-02-11 at 8.16.35 AMI built a system to monitor all of the physical and virtual computers.  Every computer reports its load average and disk space utilization every minute.  If a computer fails to check in for a few minutes, I start getting emails and text messages alerting me to which servers are down and for how long.  The system also tracks all of the data for later analysis and lets me predict based on usage when (in number of days) the servers will start running out of disk space.  The screenshot on the left shows the real-time information and the screenshot on the right shows the historical analysis of disk utilization over time with predictions of when the servers will hit 95% of disk utilization.