My name is James, and I run my own contracting company called Shift Reset LLC. I like to create things and write about technology.

Why I'm Building Actual

November 28, 2017

Over the last year I've been quietly building Actual, a personal budgeting tool. It's a free local app that will sync across all devices. I'm building it because I wanted a tool that is flexible and simple, with a solid budgeting system.

Opening Up My Development Process

July 18, 2017

Livestreaming has always been popular in certain communities like gaming, but recently it's been getting popular with programmers. ... I plan on livestreaming while I work on a product every week.

Releasing Prettier 1.0

April 13, 2017

We officially announced prettier over two months ago as a way to solve the problem of wasting time formatting your code. It started as an experiment but it clearly resonated with a lot of people, amassing ~7000 GitHub stars and over 100,000 monthly npm downloads in just two months. Now it's time for 1.0.

How I Became a Better Programmer

March 20, 2017

Several people at React Conf asked me for advice on becoming a better programmer. For some reason, people see me as a pretty advanced programmer worth listening to. I thought it would be worthwhile to write down my "mental model" for how I have approached programming over the years.

Talking Open Source on Changelog

March 09, 2017

Changelog invited me to talk about open source and you can listen to it here.


  • LLJS fork of LLJS that compiles to asm.js
  • nunjucks powerful templating system for javascript
  • outlet simple Lisp languange that compiles to javascript
  • dcpu-lisp static Lisp that compiles to DCPU-16 assembly code
  • shade terrible WebGL graphics engine
  • octoshot multiplayer WebGL 3d first person shooter
  • css-animations.js easily use CSS3 keyframe animations from javascript
  • dom3d 3d objects with purely 2d CSS transforms