I love creating tools with code - web applications, decision support systems, gis workflows, and statistical models. When I first started, I wrote many of my web applications in Perl with MySQL and Apache backends, before moving primarily to a Python/Django/Postgres/Nginx stack. The projects shown below are some of the many that I've worked on.

Preferred Languages, Frameworks, and Databases

  • Python
  • Django
  • Javascript
  • Perl
  • PostgreSQL/PostGIS
  • MySQL


Other Languages I've worked in

  • R
  • PHP
  • C/C++
  • Lua
  • Recyclable Items Database
    July 3, 2011
    Code, Projects, Technical
    One major barrier to more effective recycling is consumer confusion on what can be recycled in their bins at home. With Environmental Consumer, I set out to build a database of recycling information for cities in the United States....
  • Time Lapse Hydrography (Streamlapse)
    September 29, 2012
    Code, Technical
    Time Lapse Hydrography - Tuolumne and Clavey Rivers 2012 with Temperatures from Center for Watershed Sciences on Vimeo. Our office put out time lapse cameras and data loggers on many rivers in California's Sierra Nevada Mountains in an attempt...
  • Batch Variable Extraction (Sierra Meadows)
    October 30, 2012
    Code, Technical
    For our Sierra Nevada Meadows Database project that catalogued more than 17,000 meadows in the Sierra Nevada, I built two pieces of software that extracted environmental parameters relevant to each meadow. The software: Determined the outlet point of each...
  • Vote Climate Change
    November 2, 2012
    Code, Projects, Technical
    During the 2012 election cycle, I was a fellow with the Roosevelt Institute's Pipeline program - as part of this fellowship, I built a web application to show electoral support for climate change action to show that climate is...
  • Python USGS Flow Data API Wrapper
    December 10, 2012
    At a hackathon I helped put on in 2012, I wrote a Python wrapper for USGS' water data for the nation flow data API that provides native Python objects based on requests for water flow data at USGS gage...
  • Rim Fire Comparison Viewer
    September 30, 2013
    Technical The UC Davis Center for Watershed Sciences has long term study sites at the confluence of the Tuolumne and Clavey rivers, near where the Rim Fire of 2013 started. As part of these long term study sites, we captured...
  • Showercap website
    February 20, 2014
    Code, Technical
    As part of the organization I started, Environmental Consumer, I built an application to help individuals reduce their time in the shower as part of a hackathon in early 2014. Designed specifically for mobile devices, the application lets you...
  • arcpy_metadata
    November 27, 2014
    ArcGIS provides powerful geoprocessing and data manipulation tools in Python, but provides no programmatic access to metadata from the language, meaning that once data is processed, information on the workflow used can't be attached to the results. To remedy...
  • PISCES Software
    February 27, 2015
    Code, Maps
    PISCES is a set of ArcGIS tools and data for managing and analyzing the ranges of California's 133 native fish taxa. Data is stored as a standard relational database, increasing the power over many typical GIS approaches, and allowing...
  • Flood Mitigation and Suitability Modelling
    July 29, 2016
    Code, Maps, Technical
    I did all of the programming, GIS, and statistical modelling for a multi-phase National Science Foundation (NSF) funded project to determine mitigation potential for flooding in small midwestern towns. The picture above is from a mockup of an interface...
  • Amaptor - compatibility layer
    February 2, 2017
    I write a lot of spatial data analysis code using ArcGIS's Python package, arcpy. Sometimes we need to automate map generation as part of that work, but with the split of the arcpy.mapping library between ArcMap and ArcGIS Pro,...