Senior Geospatial Software Engineer

Ben Scholer

I build software that turns drone photos into maps and 3D models, at DroneDeploy (now part of Procore). I live in Bend, Oregon.

Drag to orbitRight-drag to panCtrl + scroll to zoomDouble-click to flyMeasure: two clicks, Esc to stop

Scroll to view from above

Now

I work across DroneDeploy's processing pipeline, the tile servers behind its maps, and the web app that shows them. Most days that means PROJ pipelines, datums, and making big rasters load fast.

I also rebuilt its measurement system: lengths, areas, volumes, and cut/fill, computed over triangulated surfaces. Try it on the map above with the Measure button.

Experience

  1. 2024 – now

    Senior Geospatial Software Engineer · DroneDeploy, now Procore

    Processing pipeline, map tiles, measurements, and the web app on top of them.

  2. 2022 – 2024

    Software Engineer II · HNTB

    GIS, ETL, and AWS tools for state DOTs. Angular and Vue front ends.

  3. 2021 – 2022

    Software Engineer · Purdue JTRP

    Connected-vehicle data at scale on GCP. Brought in CI/CD and containers.

  4. 2019 – 2020

    Full-stack and hardware intern · Purdue Engineering Computer Network

    An internal deploy app and Slack bots for the help desk.

  5. 2017 – 2018

    Development intern · Nucor Buildings Group, Purdue ABE

    An org chart database, and the Indiana Water Monitoring Inventory site.

Toolbox

Geospatial
PROJ, GDAL, datums and geoids, rasters and tiling, lidar, QGIS
Backend
Python, Node.js, Pub/Sub, PostgreSQL, REST APIs
Frontend
TypeScript, Angular, React, three.js and WebGL
Infra
Docker, Kubernetes, Terraform, Argo CD, AWS, GCP

Side projects

  1. astrolab A local-first workbench for astrophotography processing. Python
  2. home-assistant-comma-ai Home Assistant integration for comma.ai devices. Python
  3. vscode-rinex Syntax highlighting and hovers for RINEX and DJI MRK GNSS files. VS Code
  4. photogrammetry-abuse Tools that mess with images in odd ways to stress photogrammetry engines. Python
  5. paint-mixer Turns a target colour into drop counts of the paints you own. PWA
  6. flight-controller-configs Betaflight and INAV configs for my FPV drones. Config

This site runs on a k3s cluster under my desk.

Credentials

Off the clock I fly FPV, shoot the night sky, and run too many services on a homelab.