Senior Application Developer

loc: Maynooth, ON K0L 2S0tel: 613-553-0960email: rgsamways@gmail.com
Robin Samways

$ Atlas · Tech Stack

The real technology choices behind the spatial join, and what’s genuine GIS work versus a lighter-weight stand-in for a production GIS stack.

## TECH_STACK


LayerChoiceWhy
BackendFastAPI, PythonSame framework as this site’s own api/, kept as a genuinely separate service rather than shared — the point is proving the isolation convention’s heavy-dependency trigger, not reusing infrastructure.
Spatial joinShapely (in-memory STRtree)A genuine point-in-polygon index at real request time — the actual GIS work this piece exists to prove, not pins dropped on a map and called “GIS.”
Boundary ingestionGeoPandas (one-time script)A lighter-weight stand-in role, not a runtime dependency: reprojection, simplification, and the population-density join all happen once, locally, before this piece ever ships.
DatabasePostgresTracked buildings and their records — ordinary relational data, matching this site’s existing Postgres pattern. No PostGIS extension; see Design Notes for why.
MapLeaflet / react-leafletNo API key or vendor account needed, unlike Mapbox — the standard, well-documented choice for rendering clustered markers and a real GeoJSON polygon overlay.

## WHAT_MAKES_THIS_REAL_GIS


The distinction that matters: Shapely’s in-memory STRtreeis a real spatial index queried on every request, not a decorative map. GeoPandas, by contrast, never runs in the deployed service at all — it’s a one-time local ingestion tool, the same “heavy/native dependency kept out of the shared runtime” pattern this site’s portfolio-piece isolation convention exists to describe.

Feedback on this page