Developing custom software that delivers business value.

I take care of the technical stuff so you can focus on growing your business.

Project Profiles

Growing Furniture Repair Company

10 years, 120 tables, helped the company grow through many transformations.

Concierge Medical Consultations

Acted as CTO, project manager and lead engineer; drove product design, and built great patient-centric medical software.

Offshore Staffing Agency

Transitioned a growing company from listing employees on whiteboards to using a database.

My ideal clients are small to mid-sized businesses that want to leverage custom software to solve problems and create opportunities but that don’t have the internal capacity to develop this software themselves. I provide the most value when I work on business-critical software with a stakeholder who doesn't necessarily want to understand the technology end -- they just want to tell me about their business problems and then go back to growing the business.

But I have also been brought in to help rescue projects that have failed at some point along the way, especially when it's not clear to the stakeholders what might be the actual issue preventing completion.

I look to work with clients who see me as their partner in turning customer software into real solutions that help grow their businesses.


Custom Software Development

I build scalable, reliable, custom software using industry-standard technologies to solve your business challenges.

Through my experience working for partners like NASA and ThoughtWorks , I’ve learned how to cost-effectively balance the desire to get features built quickly with the need to architect reliable systems that scale with your business.

Technology Advisory Services

I understand what it takes to incorporate new software seamlessly into your existing operations, which is especially helpful for clients that rely on software to run their businesses but don’t employ a full-time CIO or CTO.

Through my experience working with a range of corporate and entrepreneurial clients, I’ve learned how to communicate technical issues to non-technical audiences and to define the decisions that need to be made when developing software in business terms.

Open Source projects

One of my core values is community involvement. I contribute snippets of commonly-used code to the Ruby community in the form of Gems , which other developers can freely use. This is a two-way street: the availability of other gems saves my clients money.


Over 900,000

Valuable is my attempt to make modeling in Ruby easier. I find that I use a lot of Ruby and Rails design patterns that aren't built on top of ActiveRecord. Valuable makes the process of writing these utility classes simpler. I wrote it because I found it inefficient to write and rewrite similar constructors and attribute setters.

In a way, it's like attr_accessor on steoids. It aims to let you focus on your domain rather than creating routine getters and setters.



Collection+JSON is a media type describing APIs that follow the principles described as HATEOAS (Hypertext As The Engine Of Application State). This module implements a collection+JSON client.

I rewrote the existing NPM module which previously used coffeescript and also had many, many dependencies so that it resulted in quite a large distributed file. Finally, I used the UMD (Universal Module Definition) design pattern so that this module could be used as a constant and via require and include in js. This allows it to be used both on the web and on a server, in both enterprise-class apps and in very simple applications.

View Code at GitHub


Not None

Sketch makes it easy to create SVG images, and provides a library of existing images for your convenience.