I have been working with geospatial data for over a decade. It started with politics — building interactive electoral maps that let Canadians explore election results at the finest possible resolution — and expanded into heritage preservation, geophysics instrumentation, and eventually a dedicated GIS platform that makes professional geospatial operations available to anyone with a browser.
GIS Tools exists because of everything that came before it.
Building electoral maps at poll-by-poll resolution#
The Stephen Taylor Data Project was my first serious engagement with GIS. The project maps Canadian federal election results at the polling division level — the smallest geographic unit in the electoral system, with each division covering roughly 250 voters. Across eight federal general elections and provincial elections in Ontario and Alberta, that means tens of thousands of individual geographic boundaries, each carrying vote tallies for every candidate.
Building these maps required solving a chain of geospatial problems. Elections Canada publishes polling division boundaries as Shapefiles — a format that dates to the early 1990s and carries its age. The data needed to be converted to GeoJSON for web rendering, reprojected from the various coordinate reference systems that Elections Canada uses, joined with tabular results data by riding and poll number, styled with graduated color ramps based on vote margins, and rendered interactively with MapLibre GL and D3.js so users could zoom from the national level down to individual polls.
The pipeline also included streamgraph visualizations of historical vote share over time, polling trend analysis, and a GraphQL API backed by MongoDB for serving the data efficiently. The maps were embedded on stephentaylor.ca and used by journalists, political researchers, and campaign teams to understand electoral geography at a level of detail that mainstream election coverage rarely provides.
That work taught me the core GIS operations from the inside — coordinate transformations, spatial joins, attribute-based classification, thematic mapping, and the constant tension between data volume and browser performance.

Geospatial problems across three domains#
The electoral maps were the beginning. Two other projects deepened the work.
Heritage Guide — the Canadian heritage preservation project — is built on MongoDB with geospatial indexing. Every one of the 13,554 heritage sites has geographic coordinates, and the platform uses those coordinates for proximity-based search, a Near Me feature using browser geolocation, and an interactive Explore Map that renders the full national dataset with client-side filtering by construction period, recognition date, function, and theme. The AI-powered journalist outreach campaign cross-referenced Heritage Guide’s geospatial data with a national reporter database to generate localized media pitches — geolocation as a communications tool.
Dualem — a geophysics instrumentation company — required building cross-platform mapping applications that handle Bluetooth serial communication with field instruments, real-time data visualization during geophysical surveys, and generation of contour maps from raw electromagnetic sensor readings. This is GIS at the hardware interface — geospatial data arriving in real time from physical instruments in the field, needing immediate processing and visualization.
Across these three domains — electoral analysis, heritage preservation, and geophysics — the underlying operations kept recurring. Format conversion. Coordinate reprojection. Spatial joins. Buffering and clipping. Thematic styling. The tools were the same; the data changed.
Why GIS tools should run in the browser#
Professional GIS software — QGIS, ArcGIS, GRASS — is powerful but heavyweight. Installing, configuring, and learning these tools is a significant investment. For many geospatial tasks — converting a Shapefile to GeoJSON, calculating a buffer, generating a Voronoi diagram, inspecting a GeoTIFF — that investment is disproportionate to the operation.
The JavaScript ecosystem for geospatial processing has matured to the point where most common GIS operations can run directly in the browser. MapLibre GL JS provides WebGL-powered map rendering. Turf.js implements the spatial analysis operations that cover most vector geoprocessing needs. Proj4js handles coordinate transformations between reference systems. GeoTIFF.js can read and process raster data client-side.
These libraries make it possible to build a platform where a researcher can drop a Shapefile into the browser, convert it to GeoJSON, reproject it, run a spatial join, style it thematically, and export a print-ready map — without installing anything, without creating an account, and without uploading a single byte to a remote server.

Building 101 tools from accumulated experience#
GIS Tools has 101 tools across eight categories: import and export, map viewing, query and filter, CRS and projections, vector editing, geoprocessing, raster analysis, and spatial analysis.
The tool selection was not arbitrary. It reflects the operations I have actually needed across a decade of geospatial projects. The Shapefile-to-GeoJSON converter exists because I have converted hundreds of Elections Canada boundary files. The graduated styling tool with Jenks natural breaks exists because that is how you classify vote margins on a choropleth map. The point-in-polygon tool exists because determining which polling division a location falls within is a query I have run thousands of times. The hillshade generator exists because terrain visualization is fundamental to the geophysics work.
Each tool was built to solve a real problem I had encountered, then generalized so anyone else facing the same problem could use it without the installation overhead of desktop GIS software.
The privacy architecture#
Like many of the tools I have built, GIS Tools processes everything locally. Geospatial data can be sensitive — property boundaries, infrastructure locations, resource surveys. There is no reason this data should leave the user’s device to run a buffer operation or generate a contour map.
The browser does all the computation. The server delivers static files. The architecture is the same as PDF Pony and the rest of the suite — privacy by design, not by policy.
GIS Tools is available in seven languages.