As a developer I’ve worked on a number of projects, both as a team member and as an Open Source Project contributor.

Abstract Full-time, March 2016 to Present

I’ve been working as a Developer at Abstract since March 2016. My main areas of responsibility have been working on the backend of the app, including ops and api development.

Summary of Work

The Iron Yard Full-time, June 2015 to October 2015

I worked with the team at The Iron Yard to set up an initial product team and form a strategy around building a learning platform. It was a great company and a great position, but I ultimately decided after only 5 months in the position that it wasn’t quite right for me.

Summary of Work:

Learn more about The Iron Yard →

Treehouse Full-time, October 2010 to April 2015

I co-founded Treehouse with Ryan Carson and worked with the rest of the Treehouse team to reinvent how people learn about and find jobs in technology. For almost 5 years I worked in numerous roles, including software development, head of product, head of marketing, head of education, and CTO. It was a daunting but exhilarating experience to see the company grow to 84 employees and over 110,000 students.

Summary of Work:

Learn more about Treehouse →

Gnoso Full-time, July 2007 to January 2011

As an early employee at Gnoso I was able to see my efforts directly impact the early growth of our primary product, NCover, from concept to early launch to growth in the market. NCover stretched me as a software developer with the incredible technical challenges of building a runtime profiler for .NET, and as a product developer with its demanding market and numerous niche use cases.

While at Gnoso I also worked with a small team to develop a diabetes logging product, Log for Life. While the product was ultimately not a success, the process taught me numerous lessons about product development and learning from markets.

Summary of Work:

CWL Open Source Project

At Abstract we use Amazon’s CloudWatch Logs to monitor our services, but I found most of the tools for accessing logs to be a little exhaustive in terms of output or configuration, so I created CWL as a simpler interface to the logs.

Learn more about CWL →

Reloader Open Source Project

Early in my time working with Golang, I missed the fact that Rails apps reload when code is changed, while Golang webapps typically do not by default. Reloader was my take on resolving that issue. Reloader monitors the executable that it is running, and whenever that executable is updated it restarts the command line that was given. That certainly doesn’t handle every reload scenario, but it does handle many of them.

Learn more about Reloader →

Payday Open Source Project

A Ruby library for rendering invoices to PDFs. I’ve had to render invoices in almost every web app I’ve worked on, and finally got fed up at rewriting the code and just wrote a library to do it.

Learn more about Payday →

Maths Open Source Project

A calculator for your command line! I end up crunching numbers a lot, and I’ve never been super happy with the Mac system calculator or the calculator in Alfred, mainly becuase they make doing several calculations in a row pretty painful. Maths tries to solve that problem, and a few others. Maths is highly inspired by Soulver.

Learn more about Maths →

Featurette Open Source Project

A JavaScript library for adding features to HTML elements. Featurette keeps you from writing hooks after the page loads for every script you write, and also maps really well to sprucing up parts of pages with reusable code.

Learn more about Featurette →

Hopefully Sunny Small Product, Inactive

The idea behind Hopefully Sunny was to get a really simple formatted email with exactly the weather information you want each morning. It used UTF characters to show you a small picture of the forecast, and we made sure the messages were really scannable on your home screen each morning so you didn’t even have to open the email. My brother-in-law, Ethan Mullis, and I built this project together.

I turned off Hopefully Sunny in December of 2013, here are some articles from the initial launch.

After shuttering Hopefully Sunny, the idea was reimplemented by Scott Newman as

TConsole Open Source Project, Inactive

A Ruby testing console. The idea was basically that your Rails environment load is slow, so apps could preload in TConsole and then commands can be issued as needed to run tests. It also had some fun ideas like test ids (so that tests could be re-run with shorthand) and commands for identifying slowest tests. You can see TConsole in action in this quick video intro:

After maintining TConsole for quite a while I had to reprioritize my projects and handed maintenance of the proejct over to Graham Ashton.

Learn more about TConsole →

Handlebars.js Open Source Project, Inactive

Handlebars.js is a JavaScript templating language that I worked on with Yehuda Katz back in 2010. Our goal was to improve upon Mustache by implementing a few additional features, like backtracking up object trees and adding a block helpers syntax. Ultimately Handlebars.js became the templating language for the initial release of Ember.

I’m no longer actively contributing to Handlebars.js

Learn more about Handlebars.js →