Parcel, property, tax and zoning records normalized from more than a thousand upstream jurisdictions into one stable schema — live behind one mount URL, and in batch through a pipeline that turns a city's raw GIS into scored opportunity layers.
The stack land development actually runs on.
Tech Maven Geospatial builds the map intelligence, collaboration and data-processing layers for zoning and land development — parcel and zoning analysis, distressed-property discovery, professional matching, permitting workflows, nationwide parcel federation and the pipeline that turns raw municipal GIS into analysis-ready opportunity data. Seven production platforms, one connected portfolio. Every solution ships with a source-code developer SDK.
Land development data is fragmented by design
Every jurisdiction publishes differently. Half the rules that matter are legal text, not a table. And the moment you find a parcel worth pursuing, the work moves into a different set of tools entirely — email, spreadsheets, and a permit portal nobody enjoys.
A thousand parcel endpoints
State, county, parish and CAD services each publish their own URL and their own schema. URLs drift, crews end up with broken layers, and downstream code becomes a pile of case statements.
Zoning lives in prose
Setbacks, FAR, height limits and permitted uses sit in ordinance text, disconnected from the map. Answering “what can I build here?” means reading a PDF with the parcel open in another tab.
Analysis and execution are separate
The site you scored in GIS gets handed to professionals, permits and inspections that live somewhere else. The audit trail breaks exactly where accountability starts.
Four layers, one land-development stack
Each solution stands alone and integrates with the others. The data layer feeds the map intelligence layer; map intelligence feeds the collaboration and permitting platform; the SDK layer exposes all of it to your own applications.
Land Intelligence — zoning, CRE and land-use analysis in the browser: opportunity scoring, 3D building inspection, geoenrichment, in-browser geoprocessing, AI querying.
Marketplace, professional matching, project workspaces, document control, permitting and recertification — where an opportunity becomes a delivered project.
Everything above is available as a library, a CLI and documented REST APIs — embed it in your own product rather than adopting ours wholesale.
Build the data. Find it. Understand it. Get it built.
Every screen on this site is a capture from a running system, not a mockup.
Land Intelligence — Zoning & CRE Analysis
MapLibre GL JS with full ArcGIS integration, in-browser DuckDB geoprocessing, nationwide parcel and property intelligence, 3D building analysis, GeoEnrichment and an AI geospatial analyst.
Solution detail →Execution Layer
Marketplace, professional matching, project workspaces, document control, the permit lifecycle, inspections, recertification deadlines and a drag-and-drop form builder.
Solution detail →Parcel Federation Proxy
One FeatureServer-compatible mount URL that federates parcel queries across every state, county, parish and CAD service publishing public parcel data.
Solution detail →Opportunity Pipeline
A config-driven pipeline that turns a jurisdiction's raw GIS and open data into fifteen scored opportunity layers — underbuilt, vacant, distressed, assemblable — without a line of city-specific code.
Solution detail →Geospatial CMS In development
ArcGIS-native content management with a drag-and-drop workflow builder, cloud-native format loaders and document AI — for organisations already standardised on the Esri stack.
Solution detail →County Tax Search Gateway
Tax collector and property appraiser records from county portals that publish no API — driven by a real browser, returned as one normalized record over REST.
Solution detail →Zoning Code Intelligence
Ask a zoning question in plain English and get an answer grounded in the ordinance, with the passages it came from — plus setbacks, height and FAR extracted into typed columns.
Solution detail →Geospatial AI Assistant
Ask an ArcGIS map questions in plain language across ESRI, OGC and WFS services — and expose the same tools to your own AI agents over MCP.
Solution detail →* Seven of the eight are in production. The Geospatial CMS is pre-production; its page carries a capability-by-capability maturity table rather than a feature list.
Land Intelligence — zoning & CRE analysis in the browser
A MapLibre GL JS application framework with full ArcGIS Enterprise, Server and Portal integration. Discover data from public GIS catalogs, load it beside cloud-native formats and commercial property records, then analyze it — with the geoprocessing running client-side in DuckDB WASM, so nothing leaves the device.
- Opportunity layers — underbuilt parcels, assemblage and rezoning candidates, code violations, lien hotspots, stalled permits, transit-proximity parcels.
- 3D building inspection with per-feature zoning symbology and footprint attribute lookup across multiple FeatureServer layers.
- ESRI GeoEnrichment across 15,000+ demographic, economic, housing and business variables — by click, address, geography or drawn polygon.
- AI Analyst — ask zoning and opportunity questions in plain language and get answers plus features rendered on the map, or ask what the code says and get the ordinance passages back with source links.
Execution Layer — from scored parcel to delivered project
The platform that connects distressed and underused property to qualified local professionals, then runs the whole engagement in one place — workspaces, tasks, threaded messaging, document version control, the permit lifecycle, inspections and recertification deadlines, with an audit trail behind every action.
- Property marketplace with distress scoring, opportunity layers and map, grid or list browsing.
- Professional directory plus a matching engine scored on geography, discipline and current capacity.
- Permitting & compliance — lifecycle states, inspection scheduling, checklist templates, deadline monitoring, multi-level escalation.
- Forms module — drag-and-drop builder with conditional logic, location fields, subforms and JSON-schema export.
One URL. Every jurisdiction. Field Maps just works.
A federation service that routes every parcel query — spatial, parcel ID, address or owner — to the correct upstream state, county, parish or CAD service, normalizes the response, and returns FeatureServer and OGC API Features JSON that ArcGIS Field Maps, Pro, QGIS and MapLibre already understand.
- Registry-driven routing across state, county, parish and CAD parcel services.
- Schema normalization — one canonical parcel record regardless of which jurisdiction answered.
- Caching and graceful degradation, so one upstream outage never breaks the whole map.
- Offline-capable in Field Maps — crews add a single layer source and it keeps working.
Opportunity Pipeline — onboard a city by writing a config file
Municipal GIS is a thousand different schemas wearing the same shape. This pipeline reads a jurisdiction's endpoints out of a config file, downloads them, translates every column into one fixed vocabulary, and runs the same fifteen spatial analyses it runs everywhere else — producing the opportunity layers the rest of the portfolio consumes.
- Canonical semantic layer — the analytical SQL references fixed column names, and the config maps them onto whatever the county actually called them. Adding a city adds a mapping, not a code path.
- Fifteen analyses — underbuilt parcels, vacant developable land, rezoning and assemblage candidates, transit proximity, stalled permits, violations, lien hotspots, recertification leads and a composite opportunity score.
- Graceful by design — unmapped columns come back null and analyses whose inputs are missing skip rather than crash, so a city with thin open data still gets everything it can support.
- Deliberately light — DuckDB spatial SQL over Hilbert-sorted GeoParquet. No GDAL install, no spatial database to operate, four runtime dependencies.
The unglamorous half that makes the rest work
Zoning and land-development data is fragmented by design. These are the processing capabilities that sit underneath the portfolio.
In-browser geoprocessing
DuckDB WASM runs buffer, spatial join, dissolve, clip, summarize-within, convex hull and measurement client-side. No server round trip, no upload, no data leaving the device.
Format ingestion
GeoJSON, Shapefile, KML/KMZ, GPX, CSV, GeoParquet, FlatGeoBuf and GeoPackage by drag-and-drop or URL. COG, COPC LiDAR, PMTiles and 3D Tiles stream from HTTPS or S3.
Schema normalization
Every upstream parcel service returns different field names and types. The federation layer maps them all to one canonical record so downstream code stops branching per county.
Zoning ordinance search
Full-text indexed municipal code — setbacks, FAR, height limits, permitted uses and definitions — queryable alongside the spatial data and cited back to the source ordinance URL.
Enrichment & scoring
ACS demographics, ESRI GeoEnrichment, ATTOM property intelligence and Regrid parcels feed composite opportunity, distress and site scores — cached so repeat queries cost nothing.
Raster & imagery analytics
NDVI, EVI, SAVI, NBR and hillshade computed in-browser over any Cloud-Optimised GeoTIFF via Pyodide and numpy, plus custom Python formulas and oriented / street-level imagery review.
A source-code developer SDK for every solution
This portfolio is not a closed suite. Each solution is a library, a CLI and a documented API surface — embed a single control in an existing product, script a whole map application from YAML, or federate parcel data into a system that has nothing to do with us.
- TypeScript / npm library — 40+ map controls, headless clients behind each one, tree-shakeable imports.
- Python CLI — declare a full map application in YAML, build it to a portable static page with the COOP/COEP headers DuckDB WASM needs.
- REST APIs — OpenAPI 3.1 with Swagger UI and ReDoc, auto-generated record CRUD, realtime SSE, Esri and OGC geospatial contracts.
- Source-code licensing — take the repository, self-host it, extend it on your own roadmap.
import maplibregl from 'maplibre-gl'; import { ArcGISAuthManager, EsriFeatureServiceControl, RegridParcelControl, CREAnalysisControl, } from 'maplibre-arcgis'; const map = new maplibregl.Map({ container: 'map', center: [-80.19, 25.76], zoom: 14, }); const auth = new ArcGISAuthManager({ portalUrl: 'https://www.arcgis.com', authMethod: 'oauth2', clientId: 'YOUR_CLIENT_ID', }); map.on('load', () => { // Zoning districts straight off a FeatureServer map.addControl(new EsriFeatureServiceControl({ id: 'zoning', url: 'https://services.arcgis.com/.../FeatureServer/0', auth, paint: { 'fill-color': '#22d3ee', 'fill-opacity': 0.45 }, })); // Nationwide parcels + CRE underwriting panel map.addControl(new RegridParcelControl({ auth }), 'top-left'); map.addControl(new CREAnalysisControl({ auth }), 'top-right'); });
version: 1 title: Industrial Site Selector view: center: [-80.19, 25.76] zoom: 13 controls: duckdb_loader: true style_admin: true layers: - id: zoning type: feature_service url: https://services.arcgis.com/.../FeatureServer/0 opacity: 0.7 - id: buildings type: styled_3d_tiles url: https://example.com/buildings/tileset.json style: mode: category property: ZoningClass categories: M1: "#f59e0b" C2: "#22d3ee" # maplibre-arcgis build map.yaml → portable static page # maplibre-arcgis serve map.yaml → with COOP/COEP headers set
# Auto-generated CRUD for every table GET /api/records/v1/properties GET /api/records/v1/properties/{id} POST /api/records/v1/leads PUT /api/records/v1/permits/{id} DELETE /api/records/v1/tasks/{id} # Realtime — server-sent events on any record stream GET /api/records/v1/workspaces/subscribe/* # Domain endpoints POST /api/custom/v1/leads/match # match professionals POST /api/custom/v1/distress/calculate # distress score POST /api/custom/v1/permits/transition # permit workflow POST /api/custom/v1/workspaces/convert-lead # lead → workspace
Analysis, execution and federation, side by side
Captured from the running platforms.
* Capability counts reflect the documented scope of the shipping platforms. Jurisdiction coverage grows through a reviewed registry-discovery process — ask for the current registry state for your states of interest.
Who uses this portfolio
From screening a market at 30,000 feet to closing out an inspection on site.
Developers & Investors
Find underbuilt and distressed parcels before they list, test what the code permits, model assemblage, and underwrite with demographics and comps in the same session.
Municipalities & Planning
Publish zoning, land-use and permit data on a map the public can read; track recertification and inspection deadlines with escalation before they lapse.
Architects & Engineers
Get matched to work in your service area, run the project from one workspace, and keep permits, inspections and approvals in a single auditable trail.
Utilities & Infrastructure
One parcel layer that works across every county in the service territory — offline-capable in Field Maps, with ownership and boundary data that stays current.
Brokerages & Site Selectors
Screen a market by radius, ZIP or drawn polygon; pull assessed value, AVM, land use and sale history; hand the client a branded due-diligence report.
Software Teams & Integrators
Embed the controls, the parcel federation layer or the whole framework in a product you already ship. Source-code licensing means your roadmap does not wait on ours.
GIS Consultants
A portable analysis and reporting stack for zoning studies, site selection and client deliverables — in-browser processing, no server to stand up.
Asset & Property Managers
Track building recertification, violations and permit exposure across a portfolio, with deadlines monitored and escalated automatically.
See it running on your jurisdiction
Tell us the county, the parcels and the workflow you care about, and we will walk the portfolio through your data rather than ours. Ask about the developer SDK and source-code licensing while you are there.
We reply to demo requests within one business day.