Projects

Big and Small

I've spent a lot of time over the years writing on code. Sometimes for money, other times for fun. Some projects get formal releases and versions, many more don't.

Greatest Hits

  • Typed Install, a CLI utility to smartly install type definitions when installing JS packages. I consider this the most useful public code I've ever written.
  • Heroku Config, a Heroku plugin for managing project for your environment.
  • epub-wordcount, a CLI tool for easily estimating the words in an epub file.
  • Seymour, a custom feed reader for Slack. Blog post coming at some point.
  • Drafts js Editor, a web editor for writing Drafts workflows while taking advantage of Typescript auto-complete. This project, and subsequent collaboration with Drafts' creator Greg Pierce, led to a new scripting documentation site.
  • This Website! It's the third major version of my personal site, this time using React.js and Gatsby.
  • refbook, a website that provided automated testing and user registration for the now-defunct International Referee Development Program of quidditch. This was my first large-scale solo project and provided an invaluable start to my career in web development. It was hosted at refdevelopment.com
  • Pitch Awesome was my one and only iOS app based on an idea given to me by my (then) girlfriend. It was a simple pitch pipe that could store a set of opening notes for songs. It's still on my phone to this day!

Via a Job

  • While at Zapier, I was a primary maintainer of the Zapier Platform, consisting of a CLI, SDK, and JSON Schema. I triaged issues, performed important refactors, and focused on performance optimizations.
  • While at RelateIQ, I wrote the RelateIQ Ruby SDK. This was during the height of my ruby days while working at RelateIQ, this was a fully tested and documented UX-focused wrapper for reading and writing from their API.

Closed Source

These projects aren't available publicly, so you'll just have to take my word for it that they were really cool.

  • At Zapier, my first big project on the platform team was to re-write the Slack integration to take advantage of their new webhook features. If you used Slack with Zapier anytime after May 2017, you were using my code!
  • I also implemented a version of the public Zapier Developer page. You can see a (mostly working) version of it at the Wayback Machine
  • At RelateIQ, my primary job was "Internal Tools". The best one was a internal admin site built with Sinatra that read from our production Mongo database.

B-Sides

  • Kerfuffle, a custom web UI to help me randomly pick a show/book/movie. It's gone through a few major iterations and technology changes. Version 1 used Angular 1!
  • Will it Play?, a CLI tool for checking if a video file is likely to play on a PS4.
  • Advent of Code solutions, for the yearly Advent of Code.
  • generator-xavdid, a Yeoman generator for creating Typescript projects. Works for CLIs, frontend, backend, or any combination thereof!
  • Airtable Grouped Chart, my award winning (I can't find a link anywhere, but I got a bunch of Airtable credit for this!) custom block for building charts based on grouped properties.
  • serenity.forsale, a Gatsby site to sell our converted campervan. The site's source is on GitHub.
  • Monkey TS, an implementation of the Monkey programming language written in Typescript. See also: Writing an Interpreter in Go.
  • Publists, a project I wrote during my 2016 funemployment to easily share Wunderlists (RIP) publicly.
  • Stack Pro, a little webapp I wrote as part of a job app for a now-defunct contracting outfit. Notable because as of time of writing, I believe this holds the record for longest-running code without modification. It's not complex, but it's been operating flawlessly since 2015.
  • Monopoly Tracker, a static site that lets users track which Safeway Monopoly tickets they've picked up. Spoiler: you never win.
  • Band Groups, a simple static page I wrote for a friend to easily sort a large list of students into groups.
  • Dead Simple, a proof of concept for a totally ephemeral, anonymous chat with web sockets.
  • Countdown, a site that shows factoids to help you visualize how far away a date is. Mostly defunct now (since the event we were counting down to has passed), but some pretty cute code.
  • LoL API, the first major project I worked on. I was hoping to develop a data API for League of Legends data (before Riot Games released theirs. I had a mini CLI that could simulate two characters fighting (on a super simple level).
  • I wrote a simple python script on a plane to let a pair of people play Ultimate Tic-Tac-Toe.

Notable Open-Source Contributions, PRs and Issues

There's an exhaustive list of my contributions using this GitHub search (must be logged in), but here are the coolest ones:

PRs

Issues

  • VSCode issue about not updating disabled extensions (microsoft/vscode#22461)
  • VSCode issue encouraging smarter default save paths for new files (microsoft/vscode#22697)
  • VSCode issue that caused big slowdowns in the integrated terminal when there are a lot of escape characters in output (microsoft/vscode#24795)
  • Filed an issue about require-ing real files within a mocked filesystem, which was fixed, broken, and then finally fixed again (tschaub/mock-fs#130)