Writing

Notes

Every note on this site, in one list. The notes record how each map or application was made, which data it uses, and what the method can and cannot show. You can also subscribe with a feed reader.

Selected work

Projects and applications

Professional GIS work for local government, and personal applications built with public data.

The Western Water Dashboard storage map, covering eleven western states, with the combined storage in a side panel.

Personal Project | 2026

One place to see the water in the West

Reservoir storage, mountain snow, and drought for eleven western states, in one ArcGIS application. AI agents did most of the work under written rules.

The Lake Powell detail panel on the Western Water Dashboard, showing the reservoir measured against the 1991 through 2020 normal.

Personal Project | 2026

No test goes red on a misleading name

Four failures from building a GIS application with AI agents. The code was good. The bugs were about meaning, and the tests stayed green.

Millcreek Sidewalk & Trails Master Plan map showing designated centers, paths, and trails.

Millcreek, Utah | Esri UC Map Gallery Finalist 2026

Sidewalk & Trails Master Plan

A city-wide plan that turns sidewalk gaps into a connected trail network.

Future Land Use map for Millcreek, Utah.

Millcreek, Utah | Esri UC Map Gallery Finalist 2025

Future Land Use, Millcreek

The General Plan land use chapter, made into a map the public can read.

Adopted Millcreek City Council district map in an embedded ArcGIS Experience Builder app, 2022.

Millcreek, Utah | 2020 Census

Millcreek Redistricting

ArcGIS Pro analysis and a public feedback loop, used to redraw the City Council districts.

Millcreek Wildland-Urban Interface (WUI) boundary map, HB41 compliance update, 2026.

GIS Policy Work | HB 48 & HB 41

WUI Boundary Mapping

Wildland-Urban Interface boundaries for Utah local governments. The Wildland-Urban Interface is where houses meet wildland fuel.

Millcreek, Utah alcohol establishment spacing map, showing 300-foot and 600-foot buffers around community centers, 2024.

Millcreek, Utah | Regulatory Mapping

Alcohol Spacing Regulations

A map and a web application that show where state spacing rules permit an alcohol license.

Granite School District elementary school boundaries overlaid with municipal boundaries, colored so no two neighboring polygons share a color.

Open Source | Python & ArcPy

Keeping neighboring polygons apart

A Python script that gives a different color to each adjacent polygon.

Utah Reservoir Drought Dashboard, a map of current storage vs. period-of-record max across Utah reservoirs.

Personal Project | 2026 | Earlier version

One drought dashboard, two WebGL renderers

The first version of the water dashboard, built twice to compare a commercial renderer with an open-source one.

30 Day Map Challenge, 2024

Selected maps from the 2024 30 Day Map Challenge

Twelve Utah maps, each made for one daily theme of the 2024 challenge.

Point map of Utah's International Dark-Sky Parks.

30 Day Map Challenge 2024 | Points

Utah Dark-Sky Points

Utah's International Dark-Sky Parks, mapped as points to open the challenge.

Line map of Utah's 27 Scenic Byways.

30 Day Map Challenge 2024 | Line Features

Utah Scenic Byways

All 27 of Utah's Scenic Byways, 1,893.84 miles, individually symbolized with ArcPy.

Polygon map of government land ownership across Utah.

30 Day Map Challenge 2024 | Polygons

Utah Government Land Ownership

Government land ownership across Utah — federal and state trust lands — styled in Esri's "Firefly" look and color-matched to SITLA's reference map.

Hexagon map visualization of Utah population.

30 Day Map Challenge 2024 | Hexagons

Utah Population Hexagons

Census 2020 population aggregated to a 50-square-mile hexagon grid, extruded and colored by density for a statewide, apples-to-apples comparison.

Map of the Old Spanish National Historic Trail through Utah.

30 Day Map Challenge 2024 | A Journey

Old Spanish Trail

The Utah segment of the Old Spanish National Historic Trail, from historic site to historic site.

Raster terrain and analysis map.

30 Day Map Challenge 2024 | Raster

Raster Terrain Study

An Imhof-style hillshade of Utah built on Esri's Terrain Service, styled after John Nelson's modern take on classic relief shading.

Vintage-style map of Utah's urban areas and rivers.

30 Day Map Challenge 2024 | Vintage Style

Vintage Atlas Style

Utah's urban areas and rivers, styled after an 1854 atlas via Esri's Physical Atlas style.

Map of Utah's populated places sourced from humanitarian data.

30 Day Map Challenge 2024 | Humanitarian Data Exchange

Utah Localities via HDX

Utah's populated places, built entirely from a global humanitarian locality dataset.

AI-generated fictional map of Utah water resources.

30 Day Map Challenge 2024 | AI

AI-Generated Fictional Map

A ChatGPT-generated "map" of fictional Utah water resources — kept for what it gets wrong.

Pen-and-paper style map of Utah counties and county seats.

30 Day Map Challenge 2024 | Pen & Paper

Utah Counties, Pen & Paper

Utah's counties and county seats, styled to look hand-drawn.

3D map of avalanche paths in Little Cottonwood Canyon, Utah.

30 Day Map Challenge 2024 | Arctic

Avalanche Paths

A 3D map of avalanche activity in Little Cottonwood Canyon, styled for an Arctic aesthetic.

Utah Time and Space cartographic layout.

30 Day Map Challenge 2024 | Time and Space

Utah Time and Space

Mule deer migration corridors and stopover habitats across the Paunsaugunt Plateau.