Much of my software development and run-of-the-mill coding these days is done in R, with assists from probabilistic languages such as Stan and JAGS. I do have previous experience with developing in C, Python, and Julia, and I am constantly working to keep up-to-date on evolving technologies, especially as it pertains to adding efficiency to computationally heavy processes.

Below are select pieces of software that I have developed for research purposes. Where possible, I’ve included links to research papers that have used the software.



This package provides an R interface for users to download results from the NA-POPS database housed on Github. Users can access estimates of effective detection radius, cue rate, and detection probability for more than 300 species of North American landbirds.

Example research using this software:


CRAN_Status_Badge lifecycle

Perform hierarchical Bayesian analysis of North American Breeding Bird Survey (BBS) data. ‘bbsBayes’ will run a full model analysis for one or more species that you choose, or you can take more control and specify how the data should be stratified, prepared for JAGS, or modelled.

Example research using this software:



Python implementation of an environment agent-based model. Simulate nesting and migrating Piping Plovers (Charadrius melodus) in the Great Lakes region.


Research using this software:

Julia package containing functions to simulate the life cycle dynamics of managed fisheries. A fish population is divided into two components: adults and pre-recruits. Adults have age-specific survivorship, are harvested with age specific catchability, and spawn with age specific sexual maturity and fecundity. Agents graduate between several life stages, move, and face multiple forms of stage and location specific mortality. The model is a detailed and computationally intensive agent based model that does not track each individual agent, instead the environment is monitored while agents move throughout the chosen environment. This simulation tool is well suited for investigation of spatial risks in managed populations, where population level impacts may only be observable through changes in harvest.