Selected work

Projects

Explore the finalist maps, Western Water Dashboard, and the 30 Day Map Challenge. More applications and map studies follow.

Explore the current 30 Day Map Challenge collection →

Applications

The Millcreek Planning Map with the layer list open beside a zoning map of the city.

City of Millcreek | 2026

Millcreek Planning Map

The public planning and zoning map, rebuilt on the ArcGIS Maps SDK for JavaScript with Nearmap imagery.

ArcGIS Maps SDK for JSCalciteNearmapPlanning

Read the post · Use the live application

The Millcreek Property Lookup page, with one search box for an address or a parcel number.

City of Millcreek | 2026

Millcreek Property Lookup

Zoning, hazard, and district facts for a property, as text. No map, mouse, or vision needed.

AccessibilityWCAG 2.1 AA targetJavaScriptPlanning

Read the post · Use the live application

The UGEM Hub home page. The title Utah Geospatial Emergency Management (UGEM) Hub sits over a hillshade of Mount Timpanogos, with a Join the Hub button and links to featured apps, the Hub sections, and upcoming events.

UGEM Coordinating Board | 2026

UGEM Hub

The emergency management GIS site for Utah. Placeholder pages became working guides, and every page and link was checked.

ArcGIS HubEmergency managementContent reviewAccessibility

Read the post · Visit the UGEM Hub

Maps and analysis

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

Millcreek, UT | City Council Redistricting | 2022

Millcreek Redistricting

The ArcGIS workflow for Millcreek's 2022 City Council redistricting: three public proposals, a StoryMap and Survey123 feedback process, and 177 resident responses. The adopted map reunited a split community.

RedistrictingPublic engagementStoryMaps

Read the post

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

GIS Policy Work | HB 48 & HB 41 | UGEM 2025 & UGIC 2026

WUI Boundary Mapping

A conference presentation that gives other Utah local governments a workflow for Wildland-Urban Interface boundary mapping under HB 48 and HB 41.

WUIPolicyLocal government

Read the post

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

Millcreek, UT | Regulatory Mapping

Alcohol Spacing Regulations

A zoning map and public web app for Millcreek's alcohol establishment spacing requirements. A QR code on the printed map links to the app.

ZoningWeb appPublic tool

Read the post

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

Open Source | Python & ArcPy

Polygon Neighbor Coloring

An ArcPy script that gives a different color to each adjacent polygon. Built for parcel, district, and boundary maps.

PythonArcPyAutomation

Read the post

30 Day Map Challenge, 2026

30 Day Map Challenge

Reservoirs, drought, river systems, wildfire starts, and precipitation. Open a map to read about its data and method.

September 2026 storage at 405 western reservoirs over the dashboard’s ArcGIS basemap. Rings show capacity. Fills show monthly mean storage. Combined storage for 388 reservoirs with complete records is 48.4%.

30 Day Map Challenge 2026 | Day 1: Points

Western Reservoir Storage

Monthly reservoir storage, replayed over the Western Water Dashboard’s ArcGIS basemap.

Daily surface elevation of Lake Mead since 1935 and Lake Powell since 1963. Both peaked in July 1983 and set new lows in fall 2026.

30 Day Map Challenge 2026 | Day 2: Lines

Two Lakes, Two River Systems

Two lakes as lines, then two river systems drawn as lines instead of maps.

Western drainage basins on October 27, 2026, colored by their share of land at D2 or worse. The Jordan basin in Utah is at 98% and Middle Snake-Powder at 96%. Across all 75 basins the share is 23%, down from 47% in August.

30 Day Map Challenge 2026 | Day 3: Polygons

Drought in 75 Western Basins

The weekly drought map across western drainage basins, then ten years of drought, basin by basin.

Natural and human-caused wildfire density in Utah, 1992–2024, on a common scale over dark shaded relief. Natural starts spread across the plateaus and mountains. Human-caused starts follow the Wasatch Front, I-15 and towns. Each cause's densest tenth of the state holds 46% of starts from natural causes and 60% of human-caused starts.

30 Day Map Challenge 2026 | Day 4: Clusters

Utah Wildfire Starts by Cause

Natural and human-caused wildfire starts in Utah, as dots, as density, and on one combined map.

October 2026 precipitation at 111 Four Corners mountain stations over an ArcGIS basemap. Colors show accumulated rain and snow as water. The median across 58 long-record stations reaches 6.9 inches, against a normal near 2.2 inches.

30 Day Map Challenge 2026 | Bonus map

October Precipitation in the Four Corners

Daily October precipitation at 111 mountain stations, drawn over the dashboard’s ArcGIS basemap.

30 Day Map Challenge, 2024

Selected maps from the 2024 30 Day Map Challenge

Twelve Utah maps from the 2024 challenge, each made for one of its daily themes. They range from simple point geometry to an AI experiment kept for what it gets wrong.

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, in Esri's "Firefly" style 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 summed into a 50-square-mile hexagon grid, extruded and colored by density so every part of the state compares the same way.

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, after John Nelson's modern version of 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 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, in cool Arctic colors.

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.