Geospatial Software Studio · Edge platforms, technical software

AvenisLabs

A studio building data-heavy software — a cloud GIS platform for local government, LiDAR processing applications, live telemetry and AI-driven intelligence. Agents do the typing. The engineering judgment is where the time goes.

30
Sites deployed
17
Workers running
23
Zones held
34K
Parcels indexed

Sta 01 · Practice

What gets built

Five areas, each with production work behind it. The common thread is data that has to be right — coordinates a survey depends on, elevations an assessment rests on, telemetry an operation is planned around, sources a claim has to be traceable to.

Geospatial platforms

Parcel and cadastral systems for local government — vector tiles, imagery catalogues and public records, with history preserved across every reload rather than overwritten. Built to deploy as one appliance, on-premises or in a cloud.

  • PostGIS
  • Vector tiles
  • STAC
  • Esri & OGC interop

LiDAR & point-cloud processing

Terrain, surface and canopy models, classification, coverage and overlap analysis, and ASPRS accuracy reporting against surveyed checkpoints. Desktop applications where the data is too large to move, and streamed pipelines where it is not.

  • PDAL
  • GDAL
  • COPC
  • ASPRS NVA / VVA

Live data pipelines

Scheduled ingest from public feeds into edge databases, with the derived metrics computed on write rather than on read. NOAA space weather lands in D1 on a cron and is served as a risk score, not a raw table.

  • Cron Workers
  • D1
  • NOAA SWPC

AI-driven intelligence

Collection and summarization pipelines where a language model does the reading. Feeds in, briefings out, with the source trail kept intact so any claim can be walked back to where it came from.

  • LLM pipelines
  • Timeline Workers
  • D1

Browser-native applications

Applications where the processing stays on the client because the data should not leave the machine. No upload endpoint means no upload endpoint to breach.

  • Zero upload
  • Static
  • No logging

Sta 02 · Principal work

Three sheets

The largest pieces of work in the studio, each given its own sheet. A platform for parcels and LiDAR in local government, now in early alpha, and two desktop applications for the survey work that feeds it.

Sheet A

PinePoint

Cloud GIS platform for local government

In development · early alpha

An independent, cloud-delivered GIS platform for US county and municipal government — parcels, LiDAR point clouds and orthoimagery served from PostGIS through a Cloudflare edge. Early alpha, built by a small team in Maine: the roughly 34,000-parcel test environment now runs on local VM storage, and limited free testing opens to interested municipalities by request.

Class
Cloud GIS platform
For
County & municipal government
Origin
PostgreSQL 18 · PostGIS 3.6
Edge
Cloudflare tunnel · Access
Storage
Local VM volumes · 87 per-parcel COPC clips
Stage
Early alpha · ~34,000 test parcels
Interop
Esri GeoServices · OGC API · STAC
Delivery
Compose appliance — on-prem or cloud
Alpha interest[email protected]

Not yet open to external client testing. A small Maine-based team is offering limited free alpha access by request — email to register interest.

Sheet B

Ashley's GIS Tools

LiDAR processing suite for Windows

v2.9.0 · in production use

A desktop application and matching CLI that turn classified LAS/LAZ point clouds into terrain, surface, canopy and vegetation-obstruction deliverables. A ground-up interface redesign over the processing engine: a navigation rail, dependency-aware workflow selection, and a run plan that states what will happen before a multi-hour job starts.

Class
Desktop application + CLI
For
LiDAR survey and mapping work
Platform
Windows · Python 3.12 · Qt
Engine
PDAL and GDAL, driven as subprocesses
Footprint
CLI needs no packages at all
Deliverables
DEM · DSM · CHM · COG · obstruction
Reporting
ASPRS accuracy — NVA / VVA / RMSEz
Release
v2.9.0 · 797 tests green
Runs onWindows desktop · not web-distributed

Internal and client tooling rather than a public download.

Sheet C

LasReport

LiDAR delivery inspection & reporting

v6.62 · in production use

A desktop application that scans a directory of LAS files and produces a self-contained HTML report on what is actually in the delivery — point counts, densities, coverage acreage, classification and return distributions, and where files overlap each other. Where the processing suite makes deliverables, this one inspects them.

Class
Desktop application
For
LiDAR delivery inspection and QA
Platform
Windows · Python 3.12
Processing
Parallel per-file — laspy · scipy · shapely
Output
One self-contained HTML report
Coverage
Convex hull with adaptive decimation
Overlap
Pairwise · per-folder · connectivity graph
Release
v6.62 · standalone Windows build
Runs onWindows desktop · product site in private beta

Distributed as a standalone Windows build; the product site is access-gated during development.

Full detail sheetsSheets A–C

Sta 03 · Method

How it gets built

The differentiator is not that a model writes the code — everyone has a model. It is that the specification, the review and the deployment path are tight enough that the output can reach production the same day.

  1. 01

    Specify

    Written before any code exists. What the thing does, what it must not do, and what done looks like. Most projects built this way fail here, not later.

  2. 02

    Build

    Agents implement against the specification. Fast enough that a wrong direction costs hours instead of weeks — which changes what is worth attempting at all.

  3. 03

    Review

    Every line is read. Generated code fails in specific, recognizable ways: plausible logic that is subtly wrong, unhandled edges, silent fallbacks. Knowing the failure modes is the job.

  4. 04

    Ship

    Straight to the edge. Static build to Pages, request-time work to Workers, state to D1. Nothing to provision, so deployment stops being a phase.

Sta 04 · Stack

What it runs on

A deliberately small set, chosen once and reused. Everything below is in production across the work above — none of it is aspirational.

Cloudflare Pages
Static hosting with per-branch preview deploys. Every project in the record is served from it.
Cloudflare Workers
Request-time compute at the edge — APIs, scheduled ingest, and rendering where it earns its keep.
Cloudflare D1
SQLite at the edge. The EPSG registry is 13 MB of it; the largest conflict timeline runs to 72 MB.
PostgreSQL & PostGIS
Where the geometry is the workload. Temporal schemas, spatial indexes, and role separation enforced by the database.
PDAL, GDAL & Python
The point-cloud and raster toolchain, driven from applications rather than reimplemented inside them.
Access control in the data layer
Redaction applied once in restricted views, so it reaches tiles, API and exports alike. No code path can forget it.
Client-side processing
Where data is sensitive the work happens in the browser, and there is no endpoint to send it to.
Static-first
HTML that is already HTML. Frameworks appear when state demands them, not by default.

Sta 05 · Record

Public projects

Alongside the principal work, seven projects run in public. Four are shown here; each one is live, and each links straight to the running site rather than to a case study about it.

03Space weather

SWFT

Space weather forecast & tracking

  • Cloudflare Pages
  • Cron Worker
  • D1
  • NOAA SWPC
04Intelligence

AI-Intel

News collection & summarization

  • Cloudflare Pages
  • Timeline Workers
  • D1
  • LLM summarization
The full recordSeven projects

Sta 06 · Contact

Starting a project

Engagement

Work starts with a written specification — what the thing does, what it must not do, and what finished looks like. That document is the deliverable before any code is, and it is what makes a same-week build possible without it being a gamble.

If you have a problem that is mostly data and partly interface, that is the shape of thing this studio is built for.

[email protected]