Hi! I'm Alan Johnson.

I live in Portland, Oregon with my wife and three kids. I'm Director of Product Development for The Iron Yard, and previously co-founded Treehouse.

Essays

Current Projects

Payday

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 →

Maths

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 →

Featurette

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 →

Past Projects

Treehouse

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.

Learn More about Treehouse →

Hopefully Sunny

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.

TConsole

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:

Since launching TConsole I lost the drive to keep working on it and handed things over to Graham Ashton.

Learn More →

Handlebars.js

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.

I'm no longer helping out on Handlebars.js, but it was a really fun project to contribute to.

Learn More →

Recipes

I love to cook. I don't post recipes to my site very often, but hopefully that'll become more frequent as I create more of my own recipes.

Where I hang out

Get in touch

Feel free to email me any time: alan.johnson@gmail.com