Juliana McMillan-Wilhoit
Civic Tech · Historical GIS Tabulae Spatial Services

County records were fine. Nobody could find them. A spatial index solved it.

A company mapping cemeteries across the U.S., finding unmarked graves with ground-penetrating radar, was doing careful field work and losing it to a CAD file. Every project siloed. No searchable database. No way to scale. I ran the project, built the tools, and trained every person who would carry it forward.

United States (multiple sites) Tabulae Spatial Services Lead consultant, tool developer & trainer ArcGIS Pro ArcGIS Online Model Builder ArcPy GIS
Impact
Days → min
Processing time per cemetery project after automation
CAD → GIS
Full system migration from .dxf files to georeferenced geodatabase
End-to-end
Client discovery through tool development, training, and handoff: all Juliana
Unmarked
Graves now findable, searchable, and shareable with genealogy organizations

The client was deploying ground-penetrating radar to locate unmarked burials in cemeteries across the country. The field collection was meticulous. The problem was everything that happened after they came back from the field.

Every project lived in its own desktop publishing file. Maps were made in software designed for print layouts, not spatial data. GPS points collected in the field had to be manually reconciled with .dxf CAD exports. Headstone transcription data (who was buried where) had no reliable way to stay connected to the correct GPS point. Each project was essentially a dead end: done, archived, inaccessible.

There was no master database. No way to search across projects. No way to share data with genealogy organizations who could use it. The company was building a rich record of community history and had no infrastructure to keep it alive.

"The field work was meticulous. The problem was that everything they collected disappeared into a file format that couldn't talk to anything else."

I came in and met with the client directly to understand the work before proposing anything. What did the field collection actually look like? Where did data go when crews got back? Where did things break down, and what were they trying to do that the current system made impossible?

Three problems surfaced: the data pipeline was manual and fragile, with GPS points matched to transcription data by hand and no reliable way to confirm the match was correct; nothing was scalable, since each project started from scratch with no reusable components; and the data was effectively locked up, stored in formats that couldn't be shared, searched, or used by outside organizations.

From those conversations I scoped the solution, designed the system architecture, and built every piece of it myself.

I built the solution entirely myself, from the initial needs assessment through tool development, testing, and training. The solution ran on Esri's platform because the team already had licenses, and the goal was to embed everything into infrastructure they owned and could maintain independently.

Automated GPS-to-geodatabase pipeline built in Model Builder and ArcPy: transformed raw field-collected GPS data into a structured geodatabase, ready for processing, in a fraction of the previous time
Headstone-to-point matching tool that automatically created tables, fields, and attached each headstone image to its corresponding GPS point, eliminating the manual reconciliation step that had caused errors and delays
Master geodatabase architecture: a centralized, searchable repository across all projects, replacing the siloed per-project file system
ArcGIS Online web map workflow with SOP for uploading, sharing, and publishing interactive cemetery maps, making data accessible to genealogy organizations and community stakeholders
Full team training program: I delivered all training sessions across the tool suite, ensuring every person who would touch the system understood not just how to use it but why it was built the way it was
Example of the Custom GIS Toolset for Cemetery Mapping: ArcGIS Pro interface showing the Cemetery Mapping Example Toolset with multiple processing steps
The custom toolset, built in ArcGIS Pro Model Builder. Multiple processing steps (Create Key Data, field matching, geodatabase output) packaged into a single reusable tool the team could run independently. Note: illustrative example, not the actual client deliverable.

One of the things I care most about in consulting work is whether the client can keep going after you leave. Tools that require the consultant to operate them aren't solutions. They're dependencies.

I delivered all the training myself. Not documentation handed off at the end, but working sessions where I sat with the team, walked through each tool, explained the decisions behind the design, and made sure they could troubleshoot when something unexpected happened. By the end, the team was running the system independently. They didn't need to call me.

ArcGIS Pro Geoprocessing tool UI showing Cemetery Mapping Example Toolset: Create Key Data step with parameters for Input Shapefile, CSV output, Cemetery Name, Output Location, and Coordinate System
Tool UI detail: the "Create Key Data" geoprocessing tool. Parameters were designed to be explicit and user-friendly: cemetery name, input shapefile, output location, coordinate system. A less-technical team member could run this correctly on the first try.
"The goal was to give them a system they understood well enough to own."
Impact
Processing time went from days to minutes, the team went from dependent to independent, and the data went from locked up to usable.

The most important outcome wasn't the speed. It was that the company could now actually use what they were collecting. Headstone transcription data, GPS coordinates, and site imagery were all connected, searchable, and shareable. Genealogy organizations could access records. Communities could find their history.

The team left the engagement with full ownership of the system. No ongoing retainer needed. No "call us when something breaks." They could adapt the tools as their work evolved, train new staff, and extend the system to new projects, because they understood it from the inside out.

The graves they'd found stayed findable, and the team didn't need me to make that happen again.

Tools & Stack
ArcGIS Pro ArcGIS Online Esri Model Builder ArcPy Geodatabase Design Scrum / Agile Ground-Penetrating Radar Data THRIVE Methodology
Next project
The military didn't need a better database. It needed data standards that worked globally.
ENSITE