Skip to main content
If you scroll through my projects, they don’t obviously belong together. A Linux kernel patch. A humanitarian mapping tool. A car scraper. An escape room solved by evolution. A batch script that sorts your Downloads folder. Different languages, different scales, different stakes. But there is a thread, and it’s this: I build to understand.

Curiosity first

I really like learning about different topics and finding communities to grow with — that’s not a tagline, it’s genuinely how I pick what to work on. A genetic algorithm sounded abstract, so I made one escape a room until I could see it learn. I wanted a used car, so I turned the search into a dataset. My mouse didn’t work on Linux, so I read enough of the HID subsystem to fix it for everyone with the same mouse. Each project is a question I couldn’t answer by reading about it. Building is how I close that gap.

Small is fine

The most-starred thing I’ve made is a ten-line script. The thing I’m proudest of is a six-line kernel patch. I’ve stopped measuring a project by how impressive it sounds and started measuring it by whether it taught me something or helped someone. Usually the small ones win on both.

Out in the open

Almost everything I do is public, and a lot of it is contributing to work that isn’t mine — OpenStreetMap, the kernel, HOT. Building alone teaches you the tool. Building with a community teaches you the craft. I’ll take the second one every time.