GIS-rooted / full-stack engineer
I build mapping products and web applications — from spatial-data pipelines to the interfaces people use to explore them. Currently a Software Engineer at PingThings, building real-time visualization platforms for time-series sensor and geospatial data.
01 — About
From GIS analyst to lead engineer, building the tools researchers and teams use to see their data on a map.
I started my career as a Geographic Information Systems Analyst, then began tinkering with code — first simple Python scripts, then full-stack web applications. That spatial background still shapes how I work: I specialize in building mapping applications for the web, though my scope has grown well beyond that.
Today I work as a Software Engineer at PingThings, building real-time visualization platforms for time-series sensor and geospatial data — owning architecture, design, and delivery end to end.
02 — Experience
2023 — Present
Architected and delivered a production real-time visualization platform for time-series sensor and geospatial data, building information-dense interfaces that render millions of data points with sub-second performance.
2018 — 2023
Led a five-engineer team building enterprise geospatial applications supporting scientific research operations across 50+ facilities, improving visualization performance by 40% through rendering optimization and tile-based architectures.
2018 — 2022
Spearheaded development of a SaaS product for land development asset mapping, as both partner and lead developer.
2017 — 2018
Directed the GIS department for an engineering and land development firm, managing teams and projects. Built an internal web mapping application for land development and site due diligence.
2012 — 2017
Helped grow a Land Development and Civil Engineering startup from 2 to 20 people over five years, through its acquisition by Manhard Consulting. Owned all GIS projects for urban planning, land development, ROW acquisition, and site discovery.
03 — Projects

Every US data center in the Compute Atlas dataset, mapped by build status with circle area scaled to disclosed capacity, plus an OpenInfraMap transmission overlay styled by kV. Operators can be compared side by side; the snapshot refreshes itself daily through GitHub Actions.
View source ↗
Twenty years of daily US temperatures interpolated with inverse distance weighting, traced into contour bands with d3-contour and drawn as an SVG overlay on Mapbox. Queried in-browser with DuckDB-WASM.
View project ↗A dashboard built with Next.js and Tailwind CSS, built to gain hands-on experience with the framework. Planned: dynamic data via an editable Prisma database.
View project ↗A simplified draw tool for the Mapbox API. Users can create, edit, and delete GeoJSON polygons and lines directly on the map.
View project ↗A playground for D3, used to highlight techniques for visualizing both spatial and non-spatial data.
View project ↗