Resume / CV

In short, I have ~30 years of experience building software and leading teams that build software.

And in case you missed the link above, here is my Resume / CV.

On Naturalists and gallformers.org

Coincidentally, I had the opportunity to take some time away from work that happened to coincide with the global coronavirus pandemic. My original plan was to do some traveling I had always wanted to do. This obviously was not possible. But as with so much in life, this setback was actually a huge positive. I found a black widow spider in the woods at my local park. Wanting to know more about it, I found this site called iNaturalist and uploaded a photo of it, and thus began a wonderful journey.

Using iNaturalist, I rekindled the long, low-burning passion that I have for nature. In all of this, I have gone on many, many hikes and seen many species that were new to me (~1500 so far), but the ones that piqued my curiosity most were plant galls, specifically cynipids (oak gall wasps). They are everywhere but little seen. Their life cycles are mind-bogglingly fascinating, and they are both indicator species for ecosystem health and cornerstone species on which so many other species depend. I began scouring every tree I came across looking for more. The more I found, the more my eyes were opened.

The wasps themselves are tiny, with most measuring less than 4 mm and many around 2 mm, which makes them incredibly hard to identify. However, the galls they induce on oaks are unique to each species and thus an excellent way to identify the wasp (which you hardly ever see, given that the adults are only alive for a short period of time and the larvae are safely ensconced away in their galls until they emerge as adults). A great deal of work was done by previous generations of scientists on the cynipids, but almost all of this work was done from the late 19th century through the 1950s. The original papers are mostly available online thanks to the wonderful Biodiversity Heritage Library, but the information is scattered and is all in PDF or image form, making it a difficult resource to use for all but an expert or a seriously dedicated amateur.

This difficulty led me to several of the gall experts on iNaturalist and eventually to a partnership with one of them to create gallformers.org. The goal of the site is to be the most comprehensive and accessible source of information about plant galls in North America. I have built out the site pretty much single-handedly, and we have a group of gall experts who are curating the data. We have a small but dedicated user base and I am very much looking forward to it becoming a foundational resource for gall fanatics across North America.

My low-burning passion for nature has been more than rekindled; it has become a major component of my life. I have started to make a serious investment in learning some botany, particularly for oaks, and have learned so much about so much else. For example, it is likely that the largest group of species on Earth is the Cecidomyiidae (gall and forest midges). See Counting animal species with DNA barcodes: Canadian insects and Quantifying the unquantifiable: why Hymenoptera, not Coleoptera, is the most speciose animal order.

In late 2025 and most of 2026, I again had the opportunity to work on Gallformers. I took this time to do a rewrite of the entire site, from TypeScript, React, and SQLite to Elixir, Phoenix, and PostgreSQL. The main impetus behind this was the constant drag of all of the JavaScript dependencies. There were so many issues with them. It was a constant game of whack-a-mole with security issues, bugs, etc. I would likely not have attempted a full rewrite if it were not for the perfect timing of Claude Opus 4.5 and 4.6. They were the leverage that made it possible. I was not, and am still not, an expert in Elixir. But I sure am glad I chose it. For a one-person site of a pretty decent size, it feels like exactly the right set of tools. LLMs are also quite good with Elixir (hooray for immutability as a core tenet!). Other than the rewrite, I also expanded our coverage beyond the US and Canada to the rest of the world and added several new small subsystems (dichotomous keys, privacy-preserving analytics). Currently, I am working on an LLM-assisted ingestion pipeline to bring in new data and audit existing data against the academic literature.

This Site

I have been through many, many iterations of this site since I first stood it up in 2001. The current incarnation is hand-crafted.