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

I’m currently volunteering for a few organizations helping to mitigate climate change. It’s early days so I don’t have much more to share yet!

I’ve had some jobs in the past, too. In reverse chronological order:

  • Airtable is a tool to organize anything. I was on the Platform team where I worked on the API, Blocks, and much more. Though I’d used it for personal projects, it was my first time working with TypeScript professionally. I learned a ton about programming, prioritization, and puppies.

  • Braintree lets developers easily accept payments. I was on the Contextual Commerce (now called Extend) team where I did a lot of Clojure and Ruby. Before that, I spent a lot of time building Braintree’s SDKs. Perhaps the biggest project I’ve worked on so far was Hosted Fields, a fancy way to accept credit cards on a webpage. It was a lot of fun!

  • Counsyl, now Myriad Women’s Health, aimed 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 provides 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 Ext JS and Sencha Touch, and spent a few weeks deep in Node.js as well.

  • UniversityNow provided 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.

  • Fetchnotes was 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. The service is no longer around.

  • Rockmelt was 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:

Significant open source contributions

I’ve made a bunch of small pull requests to various open source projects. Most of them are tiny, but here are some slightly more notable ones:

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.