GIS Analyst • Data & Spatial Intelligence

John V.
Kenny

Municipal GIS Partners
M.A. Political Science
John V. Kenny
Scroll

Where geography
meets intelligence

GIS Analyst at Municipal GIS Partners, building systems that transform raw spatial data into infrastructure intelligence. I design automated pipelines, interactive dashboards, and computer vision workflows that help municipalities operate smarter.

With a Master's in Political Science and years spent leading mission-driven, people-focused programs, I bring a strategic, research-driven mindset to every technical challenge — bridging the gap between complex data systems and the people who depend on them.

Selected case studies

01

AI-Powered Infrastructure Intelligence

Computer Vision VLMs Python Azure AI ArcGIS Pro
Problem

Municipal governments sit on decades of as-built drawings, handwritten service records, and construction documents that are trapped in paper or unstructured PDFs — invisible to the GIS systems staff rely on every day.

Approach

Building a suite of computer vision and AI pipelines that extract structured data from these documents at scale — from vision language models that read handwritten water service cards to automated as-built ingestion systems that pull metadata, organize files, and feed results directly into ArcGIS Pro catalogs.

Result

Decades of paper became a living, queryable system — from scanned drawing, to georeferenced GIS feature, to natural-language answer. For the municipalities it serves, that means higher-quality infrastructure data with traceable lineage back to the source record — and with it, smoother day-to-day operations and the decision-readiness that comes from trusting the data underneath you. Building it stretched me across the full stack along the way: computer vision, model training, cloud architecture, agentic AI, and RAG.

02

Proactive Health Checks for Emergency Dispatch

Python Python Toolbox ArcPy Data Quality Public Safety
Problem

Emergency dispatch lives or dies on accurate GIS — addresses that geocode, routes that work. When the data is wrong it causes real-world failures, and catching those problems stays reactive and manual until something breaks during a call.

Approach

I built a scripted Python toolbox that runs a series of seven automated health checks against the dispatch datasets we deliver. Before data ever goes out the door to a dispatching client, the toolbox systematically scans it for the structural problems that break geocoding and routing before they cause a failure in the field — making data-quality assurance a repeatable internal step in our delivery process, not reactive firefighting after something breaks.

Result

The dispatch data we hand off is verified sound before it reaches production. For the dispatch centers and fire districts that depend on it, that means fewer failed address lookups and routing errors when a call comes in — caught by our own consistent QA process instead of discovered mid-emergency.

03

Police Transparency Dashboard

Python Automation ArcGIS Online Civic Tech Open Data
Problem

Public crime data is often locked in formats no resident can use — and publishing it openly raises real privacy concerns about pinpointing incidents to a single household.

Approach

I built a Python pipeline that ingests incident data, anonymizes each record to the 100-block level to protect privacy, and auto-publishes a clean public dashboard to ArcGIS Online — replacing a manual update process with a repeatable, scheduled one.

Result

What took 60–90 minutes of manual work per update now runs in about 5 — freeing department staff from repetitive publishing while giving residents a transparent, privacy-respecting, always-current view of local incidents. For the municipality, that’s both reclaimed staff capacity and stronger public trust.

View Project
04

USPS Address Validator

USPS API Data Validation System Migration Bulk Processing
Problem

Thousands of municipal address records needed verification before large-scale system migrations, with no efficient way to catch invalid or partially correct entries.

Approach

Built an internal validation tool that checks records against the official USPS database, with an interactive dashboard, map visualization, and pause/resume for multi-day jobs.

Result

By validating records against the official USPS database before a migration, the tool protects the address data that municipal billing, permitting, and dispatch all rely on — catching errors at the source instead of after they reach production, and sparing staff hours of downstream cleanup.

05

City of Lake Forest CBD Parking App

React ArcGIS Maps SDK Walk-Time Routing Custom Web App
Problem

The City of Lake Forest needed residents and visitors to understand downtown parking at a glance — including “how far is this lot from where I'm going?” — and off-the-shelf ArcGIS Experience Builder couldn't deliver that experience.

Approach

I designed, built, and deployed a custom React + ArcGIS app: every CBD lot mapped with color-coded restrictions and detailed profiles, on-demand walk-time routing from any origin, and a mobile-first interface — all driven by a single JSON config that makes it portable to other communities.

Result

MGP's first custom-coded GIS web application — delivering functionality off-the-shelf tools couldn't, and now a reusable template already carried forward to a second municipality. A first-of-its-kind standard for the firm.

More from the workshop

SettleStack
Full-stack poker debt settlement app — calculates optimal payment paths to minimize total transactions among players.
Sustainability StoryMap
Interactive ArcGIS StoryMap visualizing environmental sustainability initiatives and their geographic impact.
Pond Ownership Dashboard
Inventory dashboard mapping pond ownership across municipal boundaries for infrastructure planning.
Fiber Line Linking & Depth
Pilot program for linking fiber optic infrastructure data with depth measurements in GIS.
Emergency Vehicle Preemption Dashboard
Real-time ArcGIS dashboard consolidating preemption device status and health into a single operational view for emergency response coordination.
Historical Records Toolkit
A reusable, config-driven system for digitizing scanned historical records with a vision-LLM and human-in-the-loop review. Grew from digitizing several thousand handwritten water service cards — an estimated 40+ hours of manual entry, completed in roughly 4 hours of review.
First Return
Turns real USGS lidar into 3D-printable models of actual places — a small product studio built on real elevation data.
Utility Document Extractor
Document-intelligence pipeline that parses inconsistent utility as-built documents and structures the data for GIS integration — eliminating slow, error-prone manual entry.
Mariotti-Reed Genealogy Legacy  →
A living family-history data system. I used AI to digitize and organize historical records — census pages, funeral cards, military musters — into a PostGIS database, managed the Azure resources behind it (Blob Storage, Postgres), and published an interactive map viewer with a citation-grounded “Ask” (RAG) feature. A personal project, and my clearest end-to-end demonstration of AI-assisted records digitization on cloud infrastructure.
Utility Atlas Requests Automation
End-to-end Python + Power Automate workflow that automates utility atlas request intake, spatial processing, and document delivery — cutting per-request turnaround and eliminating manual transcription errors.

Core competencies

GIS & Spatial Analysis

ArcGIS Pro, ArcGIS Online, spatial data pipelines, geodatabases, cartographic design, and field data collection systems.

AI & Computer Vision

RT-DETR object detection, Qwen2.5-VL and vision-language models, model training, automated feature extraction, and intelligent document processing.

Agentic AI & MCP

Building AI agents and Model Context Protocol (MCP) servers, with Claude Code as a daily development driver — including agentic architectures integrated with Microsoft 365 and Copilot Studio.

Cloud & Deployment

Azure Container Apps, Static Web Apps, Blob Storage, and PostgreSQL/PostGIS — deploying cloud-native, RAG-enabled applications and job pipelines.

Python & Automation

Python scripting, Power Automate, ArcPy, workflow automation, API integration, and process optimization.

Data Visualization

Interactive dashboards, ArcGIS StoryMaps, data-driven cartography, and dynamic reporting solutions.

Research & Communication

Master's-level research methodology, technical writing, stakeholder engagement, and cross-functional collaboration.

Project Management

End-to-end project delivery, requirements analysis, agile workflows, and multi-stakeholder coordination.

Let's build something together