Open Source Work (Current)

Programmable CI/CD engine and developer automation platform. This is my current day job and where most of my serious systems work lives.

As part of a small team, I do a bit of everything, with a few recurring areas of focus:

  • Caching and DAG solving: the engine that decides what to run, when to run it, and how to cache it.
  • Systems work: containerization, filesystems, and performance optimization.

Open Source Work (Past)

I started using and contributing to BuildKit as part of a side project (Bincastle), then soon became a maintainer.

I did contract work for Netflix to add BuildKit features that optimized their image build performance, including MergeOp and DiffOp.

Dagger used BuildKit too, but I later replaced it wholesale with a custom DAG solver and caching system.

Side Projects / Experiments

A server and browser-side utility for connecting personal web apps to a Codex app-server instance running anywhere.

I have a ton of experiments and toys running off this domain, mostly hidden, and a bunch of them want to talk to Codex.

Tailcall wraps codex app-server with a Go binary that proxies the app-server protocol over WebSockets and Tailscale via the embedded tsnet library.

The TypeScript browser client lets apps hosted here talk to that Codex instance as long as my device is connected to my Tailscale network.

It is a very non-traditional architecture, but it works quite well and keeps the overhead for experiments minimal.

Bincastle was an experiment in defining custom Linux distros programmatically as a DAG, then running them as truly rootless containers from a self-contained static binary.

It also explored recursively editing the source of programs from inside those containers. You could build an entire container rootfs from source and then, from within the container, edit that source and rebuild the container on the fly.

It introduced me to BuildKit development and internals, plus the deeper reaches of sandboxing technology; it is not maintained.