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
- 01
Field delineation and PostgreSQL/PostGIS storage
- 02
Automated SSURGO, crop-history and weather integration
- 03
On-demand Sentinel-1 and Sentinel-2 imagery
- 04
FastAPI, Cloud Run, BigQuery, Pub/Sub, Cloud Tasks and dbt
- 05
Spark, Dataproc Serverless and Apache Sedona processing
- 06
Terraform infrastructure as code
- 07
Decoupled, event-driven chain in separate services: a saved boundary triggers SSURGO retrieval, which triggers crop-history retrieval, so failures stay isolated
- 08
Optional data products run on demand, keeping compute and cloud cost proportional to use
- 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
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
dbt staging (deduplication, cleaning, outlier handling, geospatial transformation) and marts for BI, web, ML and AI use
- 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.
- 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.
- 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.
- 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.
- 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.
- 05
Uses Terraform for infrastructure as code, CI review gates before deployment, and Cloud Logging as the primary production-monitoring tool.
- 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
