About Me

I am a statistician by training, and I am particularly interested in developing and applying causal inference methods in ecology and conservation. In these domains, causal inference methods are often complicated by the fact that a unit’s potential outcomes may depend on the exposure of other units. This is known as causal inference with interference.

I maintain several R packages, including geex, a package which (hopefully) makes programming estimating equations easier. I created geex from a pragmatic need to quickly iterate and debug variance estimation from a set of estimating equations. Without knowing its name at the time, the crucial abstraction I used in geex is a common technique called currying. The way I was able to align mathematical reasoning with computer programming led down the path of functional programming (and once I discovered Haskell, category theory).

Currently, I lead the development of statistical and data pipeline software at Target RWE (formerly NoviSci), where I use R, Rust, and Haskell.

See my google scholar profile.


  • Causal inference
  • Ecology
  • Conservation
  • Research software design and engineering
  • Applied Category Theory


  • DrPH Biostatistics, University of North Carolina, 2017
  • MS Biostatistics, University of North Carolina, 2015
  • AB English, University of Georgia, 2000