If I were to compress my entire life so far into four personal projects, I think I'd highlight the following:

  1. Express.js in Action, a book about Express.js and its surrounding ecosystem.
  2. Helmet, a set of middleware for securing Express.js web applications. It's a pretty mature project!
  3. "Code doodles" is a set of little visualizations that I make in my free time.
  4. HumanizeDuration.js, a rather simple library for turning 361,000 milliseconds into "6 minutes, 1 second". Lots of people have submitted patches!

The rest of this page is a fat list that attempts to cover everything I've done. It's pretty boring.

Various words

In addition to the words you're reading right now, I've written hundreds of other words. You can check out my guides and tutorials, or read one of the two books I've published:

Job experiences

The rumors are true: I'm employed right now. I've also had some jobs in the past. In reverse chronological order:

  • Braintree lets developers easily accept payments. I work on the developer experience team where I build the JavaScript SDK. Perhaps the biggest projects I've worked on so far is Hosted Fields, a fancy way to accept credit cards on a webpage. It's a lot of fun!

  • Counsyl aims to give everybody "access to vital information about their bodies to help them confidently make choices about their lives". They did this by doing complicated genetic tests and presenting them to patients in accessible ways. I wrote a lot of Django and Python code for them, and even programmed a small robot! One of the coolest parts of the internship was seeing all of the people in white lab coats, something I will likely never wear. Fun fact: they were my third internship in a row that had a nearly-boundless supply of string cheese.

  • Sencha is big in the HTML5 space, providing frameworks for building cross-platform applications. They had me working on their Sencha Architect team. Architect describes itself as a "visual app builder", and I'd describe it as a huge, powerful JavaScript application that I helped to work on. I learned a bunch about Sencha Touch and Ext JS, and spent a few weeks deep in Node as well.

  • UniversityNow provides affordable, accredited online higher education. The first weeks of my internship were fixing bugs and implementing small features in Rails, but then I spent the rest of the summer working on their real-time chat feature. I learned Backbone.js and wrote a whole lot of Jasmine specs. If you'd like, I wrote a longer post about my time there.

  • Fetchnotes is a note-taking app that aims to be "your mind's best friend". Their homepage and web app got a redesign by a brilliant designer, and I coded them both up! I bumbled my way through Ember.js to make it work. Soon after, a TechCrunch story was written and it got tens of thousands of hits! And it worked! Scary stuff. It's a pretty different app now, but still alive and kicking.

  • Rockmelt used to be called RockMelt when I interned there, and they were acquired by Yahoo awhile after I left. While I was there, they built a social browser; a fork of Google Chrome that baked things like Facebook and Twitter right into the browser. I worked on some internal help pages. Designers gave me PNGs and I gave them their "Quick Guide"! I also did some other pages for them (such as their What's New page or some fixes on their homepage) and a lot of internal JavaScript unit tests.

Open source stuff

I like open source and I cannot lie. I've published a number of modules and packages and libraries and tools and whatever. In alphabetical order, they are:

Code stuff that isn't open source

There's some code stuff that isn't open source for whatever reason. Those things include:

Non-code stuff

Pretty much all of the above is code-related, but I've done a few other things here and there when I can tear myself away. They are, in no order:

And that's it! That's pretty much everything I've done.