What I do

I build the software that sits between satellite archives and real decisions. My work spans the whole chain: finding and preparing Earth observation data, measuring change with radar and optical sensors, training models that survive contact with new places, and shipping the result as an API, an alert or a map someone can act on.

Most geospatial projects fail in the gaps between disciplines: a model with no reliable data pipeline, a pipeline with no validation, a validated map that never reaches the people who need it. Because I work across all of these — and maintain open-source tools for each — I can take a problem from a bounding box and a date range to a deployed, validated answer, and tell you honestly where that answer stops being reliable.

How I approach any problem

  1. 01

    Start from the decision

    Before any data is downloaded I pin down who will act on the result, what they will do with it, and how much error they can tolerate. That fixes the resolution, the sensors, the timeline and the metric that defines success.

  2. 02

    Get the data right

    Federated search across 22 verified providers, checksum-verified downloads, atmospheric correction, cloud masking and STAC-catalogued, cloud-native outputs. Clean inputs prevent most downstream surprises.

  3. 03

    Baseline before complexity

    A simple index, a classical InSAR chain or a ResNet-50 comes first. A foundation model or a graph network has to beat it on the same split to earn its place.

  4. 04

    Combine physics with learning

    Radar and optical fusion, atmospheric corrections, physics-informed losses and multi-temporal stacks: the model respects how the sensor and the landscape actually behave.

  5. 05

    Validate where it is hard

    Spatial-block and zone-based cross-validation, held-out tiles, field surveys and published references. Random splits flatter models; I test them in places they have never seen.

  6. 06

    Ship it and document the limits

    APIs, alerts, dashboards, QGIS plugins and reproducible notebooks — delivered with tests, CI and a written account of what the result can and cannot support.

Six disciplines

Principles I work by

  • 1

    Honest about limits

    Caveats are part of the deliverable. In the Mexico City study I reported that the network split into 17 disconnected SBAS components, so the result is a directional check, not a validated replication.

  • 2

    Open and reproducible

    My core tools — pygeofetch, pygeovision, pyunwrap and ps-gnn — are MIT-licensed, on PyPI and archived with Zenodo DOIs. You can rerun everything.

  • 3

    Validated in space, not just in time

    Spatial cross-validation is my default, after diagnosing a crop-disease model that scored 95.8% in training but near zero on smallholder farms.

  • 4

    Grounded in the field

    Trained as a geomatic engineer, I have run GNSS, Total Station and UAV surveys myself, so validation is designed in rather than bolted on.

  • 5

    Built for the end user

    Results go where people already are: WhatsApp and SMS alerts, PDF reports, QGIS, live dashboards.

Ways to work together

  • Research collaboration

    Joint work on InSAR, GeoAI, EO foundation models or validation methods — papers, datasets and open tools.

  • Contract & consulting

    Scoped projects: a pipeline, a model, a monitoring system or a feasibility study, delivered with code and documentation.

  • Full-time roles

    Geospatial software engineering, EO research engineering and GeoAI positions in Europe, Africa or remote.

  • Training & capacity building

    Through EOCoreINT: applied remote sensing and GeoAI with open tools and real West African examples.