A digital farm platform unifying field boundaries, soils, weather, crop history, satellite imagery and cloud analytics

Context

Problem & Responsibility

Operational Problem

Farm and field information is fragmented across boundaries, soils, weather, crop history and imagery.

My Responsibility

Designing and building the spatial data model, backend services, cloud workflows, analytics and product experience.

System Design

Architecture & Workflow

  1. 01

    Field delineation and PostgreSQL/PostGIS storage

  2. 02

    Automated SSURGO, crop-history and weather integration

  3. 03

    On-demand Sentinel-1 and Sentinel-2 imagery

  4. 04

    FastAPI, Cloud Run, BigQuery, Pub/Sub, Cloud Tasks and dbt

  5. 05

    Spark, Dataproc Serverless and Apache Sedona processing

  6. 06

    Terraform infrastructure as code

  7. 07

    Decoupled, event-driven chain in separate services: a saved boundary triggers SSURGO retrieval, which triggers crop-history retrieval, so failures stay isolated

  8. 08

    Optional data products run on demand, keeping compute and cloud cost proportional to use

  9. 09

    Scheduled check for new Sentinel scenes, with NDVI, EVI, SAVI and Sentinel-1 VV/VH tracked over time to flag field events such as a likely harvest transition

  10. 10

    PostgreSQL/PostGIS as the operational system of record, kept in near-real-time sync with the BigQuery analytical warehouse through an outbox pattern and a periodic safety net

  11. 11

    dbt staging (deduplication, cleaning, outlier handling, geospatial transformation) and marts for BI, web, ML and AI use

  12. 12

    Farmer-uploaded soil samples (shapefile or GeoJSON) stored spatially for downstream analytics

Deep Dive

Inside the Build

Approach

Designing and building the spatial data model, backend services, cloud workflows, analytics and product experience. A portfolio-grade geospatial platform where a farmer delineates a field boundary and receives field-level environmental, historical, remote-sensing and analytical information for decision support, with PostgreSQL/PostGIS as the operational system of record and BigQuery as the analytical warehouse.

  1. 01

    A saved field boundary triggers an event-driven chain (Pub/Sub, Cloud Tasks, Cloud Run) that automatically acquires core datasets like SSURGO and crop history; heavier datasets stay opt-in so compute and cost scale with actual use.

  2. 02

    Sentinel-2 and Sentinel-1 imagery is refreshed on a nightly schedule once a farmer activates it for a field, tracking vegetation indices (NDVI, EVI, SAVI) and radar signal changes to flag events such as a likely harvest transition.

  3. 03

    A dedicated sync service moves operational data into BigQuery in near-real time via a transactional-outbox pattern, with a scheduled safety net that retriggers failed or incomplete work automatically.

  4. 04

    Built the Model Context Protocol (MCP) service, in FastAPI on Cloud Run, that gives AI applications controlled, grounded access to the analytical platform - keeping deterministic analytics and predictive models separate from LLM interpretation and explanation. The wider LLM-agent work (LangChain/LangGraph, evaluation) is a team effort.

  5. 05

    Uses Terraform for infrastructure as code, CI review gates before deployment, and Cloud Logging as the primary production-monitoring tool.

  6. 06

    Routes processing by scale: smaller spatial workloads run in Cloud Run with the Python geospatial stack (GeoPandas, Shapely, Rasterio, GDAL); larger record-heavy workloads move to Spark/Sedona on Dataproc Serverless so compute scales on demand without an idle cluster.

Evidence

Scale & Measurable Impact

  • Unifies farmer- and field-oriented data into analytical workflows
  • Provides a working foundation for field-level spatial analysis
  • Natural-language analytics, LLM and MCP capabilities are in development and being evaluated

Technologies

  • FastAPI
  • PostGIS
  • BigQuery
  • Cloud Run
  • dbt
  • Spark
  • Sedona
  • Terraform

Let’s Connect Spatial Data to Real Decisions.

Open to conversations about geospatial engineering, cloud data platforms, GeoAI and spatial analytics.