AI · open lab notebook
I use AI agents to build, test, and operate GIS tools, with the same care GIS has always required: clear data sources, coordinate-system discipline, validation, and human review before anything important changes.
In practice, this means
Spatial problems are full of the kind of pattern-matching that modern models are good at: classifying land cover, geocoding messy address strings, summarizing a stack of permit documents into something mappable. The interesting part isn't that AI can do these things; it's deciding where a model genuinely removes drudgery and where it just adds a confident-sounding layer of uncertainty over data that deserved more care.
I lean toward open-source AI for the same reason I leaned toward open-source GIS twenty years ago: I want to be able to open the tool up, understand how it reaches an answer, and run it on infrastructure I control. For public-sector and teaching contexts especially, a model you can inspect and host yourself beats one you can only rent and must take on faith.
What I'm working on
A "GIS app" in 2026 is usually a database, a renderer, and a model wearing a map for a face. Most of my current work lives at that seam.
A lot of what I build now is agent harnesses: the reliable loops that let a language model operate real spatial systems instead of just talking about them. I treat that as an engineering discipline rather than a prompt trick, which means spatial context documents, schema introspection, strict coordinate-system handling, write-gating, and spatial verification as a hard gate before anything is allowed to touch authoritative data.
On the retrieval side I'm focused on grounding models in an authoritative spatial database rather than letting them guess, pairing a relational/spatial store with vector similarity and graph traversal so an answer can walk from a parcel to its neighbors, its nearest roads, and its history before a single word is written. Most of it runs on infrastructure I own: self-hosted databases, local and open-weight models where they're good enough, and managed APIs only where they clearly earn their place.
The stack
The agents I build with
I build tools once and configure them three times. Each agent points at the same spatial MCP servers but plays a different role.
Anthropic · the builder & analyst
An agentic coding tool that works across a whole repository from the terminal. For GIS, it's where I build and maintain MCP servers, write ArcPy, GeoPandas, and PostGIS SQL, and run interactive deep analysis with the full project in view.
Nous Research · the operator
A long-running personal agent that runs on a schedule and answers messages. For GIS, it drives scheduled publication refreshes, monitoring, and briefings, and fields spatial questions on demand (over Telegram, say) without me opening a laptop.
OpenAI · the second opinion
A coding agent from a different model family. For GIS, I point it at the same MCP servers to cross-check analyses, run implementation tasks in parallel, and hedge against the failure modes any single model has.
What I'm exploring
Work with me
The same approach, productized for senior operators: a private AI chief of staff installed and run on infrastructure you own, ready in about two weeks.
See the AI Operating SystemOffered under my own name, on my own time, and with consent from my employer.