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

Via a Job

  • While at Stripe, all of my public open source contributions are available under the xavdid-stripe GitHub user. So far, I've made contributions to the Stripe CLI and influenced the design of the Stripe SDKs (especially Node.js and Python).
  • 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 Stripe, I made contributions to the Stripe Dashboard and some of our backend tooling. You've likely seen my work if you've tried to change a setting while in Test Mode or created a sandbox.
  • 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

  • Will it Play?, a CLI tool for checking if a video file is likely to play on a PS4 (and PS5).
  • JSON Requests, an extremely barebones HTTP request library for Typescript.
  • 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.
  • refbook, a website that provided automated testing and user registration for the now-defunct International Referee Development Program of quidditch quadball. 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
  • 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.
  • 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!
  • 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.

Appearances

I've been interviewed for various external projects. Here's a list, most recent to least:

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)