My name is Jeff Carpenter and I’m a software developer living in San Francisco. I write a lot of JavaScript and work at Braintree.

I am:

Table of Contents

More about me

I grew up in SoCal in a town near Laguna Beach. I love New England and spent four years at Colby College in Waterville, Maine studying Symbolic Systems and Japanese.

I’m really into self-tracking. I’ve been tracking every exercise and every alcoholic drink I’ve had since January 2011 (my Junior year of college). By mentioning it here I hope to guilt myself into writing more about it soon.


My notes that may be of use to you:

Articles I read every few months:

Videos I watch every few months:


Running your first network scan with nmap

A Look at AMP HTML

Mistakes Cost More

Jeff's 2015 in 5 Themes

Breaking the Cycle

Wrist Upgrade

Bufferbloat, SSL Warnings, Orleans, and more

Visualizing JS Project Structure

Syscalls aren't magic

Unforseen Perks of Pair Programming

Interviewing 2 Years in: What Worked

Angular Live Code Video is Up!

Things learned while preparing for Angular Live Code

Prim's Algorithm in JS and ClojureScript

Two interesting IE JavaScript quirks

Mutative vs. Non-Mutative Array Methods in JS

Hello World, Again



rcrd 5

The next iteration of my self-tracking platform. Static site + serverless architecture using AWS Lambda.


Design Principles Behind Smalltalk

A mini talk I gave presenting the paper _Design Principles Behind Smalltalk_ by Dan Ingalls at the Papers We Love Too meetup in SF.

Building Hosted Fields

A lightning talk I gave at the Node Gakuen meetup in Tokyo about the lessons the Hosted Fields team at Braintree learned while building the product.


A Node module of "perfectly spec-compliant atob and btoa implementations," originally for use in jsdom.


A Luhn validation library for Rust.


A small layer on top of braintree.js for integration into AngularJS.


A small layer on top of braintree.js for integration into ReactJS, built by another member of the BT JSDK team and me.


Iterated function systems in JS.


Visualize a JS project's internal structure.



A server that allows you to specify npm packages in the query string and serves you them in a browserified bundle.

Building an App with Angular.js

A follow-along introduction to Angular.js I gave at the SF HTML5 Livecode meetup group.

Prim's maze algorithm in ClojureScript



A Twitter bot that tweets random vocabulary from the JLPT N3 exam.


Hackathon Project

Used sentiment analysis to update an emoji on a user's Twitter profile pic based on their mood.



A live-updating display of Colby-related tweets on an LCD in the student center.


A small web app for tracking habits.