C:\GRIFFIN\PROJECTS\EMBEDDED\AGEOMAPS>

[@] MAP
###C########P###
#...........$..#
#.===......%%..#
#......@.......#
#..%%......===.#
#..............#
###H########D###
EMBEDDED/AGEOMAP

Doors are hotkeys. Or click the screen and walk with the arrow keys.

ageomaps

A pre-release Rust desktop GIS: chain vector and raster analysis into a workflow, keep a receipt for every step, and branch and compare runs.

Status
In development
Stack
GIS · Geospatial · Rust · C++ · Qt · Desktop App
Project site
ageomaps.com

At a glance

  • Outcome: A desktop GIS for small municipalities, counties and businesses.
  • Status: Pre-release, running from source on Linux and macOS; public beta targeted for Q1 2027. Branch merge, geocoding from an imported table, contours and spatial statistics are designed and coming.
  • Role: Solo: sets the architecture and the Rust/Qt bridge boundaries, reviews and debugs AI-assisted implementation, owns validation.
  • Stack & libraries: Rust, C++ FFI (cxx, cxx-qt), Qt 6/QML, MapLibre Native, GEOS, GDAL, proj4rs, Nix.
  • Source: Private; the project site is public.

ageomaps is a desktop mapping and analysis app, written in Rust, for small towns, counties and small businesses. You load your data, such as GeoJSON, GeoParquet, a read-only FileGDB or a city’s ArcGIS FeatureServer. Then you build an analysis as a series of steps: buffer, clip, join, spatial join and dissolve. You review the plan, run it, and export a PDF, PNG, SVG or PowerPoint with the method attached.

Every step that touches data leaves a receipt with a fingerprint of its inputs, so the project can rebuild what happened and from which inputs. The session saves itself every time you edit the workflow. Named saves and branches let you try an edit, back out, or put two runs side by side, down to a row-by-row comparison of the output tables. GEOS handles the shape math. The raster side handles slope, aspect, hillshade, viewshed and zonal statistics, so one workflow can mix a parcel buffer with an elevation step. An opt-in planner turns a plain-English description into the same reviewable plan, and you see every step before it runs.

Projects, data and edits stay on your machine. The app sends no usage data. Address lookup is still experimental. It runs against a local copy of the National Address Database instead of a public service. Inside, the heavy mapping libraries sit behind fixed interfaces. GEOS lives in one module. GDAL is allowed in only a short list of modules. Exports render in a separate process. A build check allows internet access code in only two modules. The interface reaches the Rust core through a C++ bridge built for the project. A smoke test decodes the rendered map and counts its pixels, which checks the map by what it actually draws. New features have to pass contract tests before they show up in the interface.

Right now the import, workflow, review and export loop works end to end, with an Austin service-access demo included. Next up are merging branches, address lookup from an imported table, contours and spatial statistics, then packaging for the public beta.