Benjamin Smith

Geospatial Cloud Developer

Summary of Experience

As a Geospatial Cloud Developer at Hatfield, I specialize in the design, development, and administration of advanced cloud-native platforms and Kubernetes-driven architectures. I am the lead developer and administrator of GEOAnalytics Canada, Hatfield's big geoscience data platform, leveraging extensive experience in cloud infrastructure (Azure, GCP, AWS, Digital Ocean), Docker, and Kubernetes to build a cloud-agnostic platform that delivers efficient results and features to end-users with geographically distributed data.

Through my work at Hatfield, I actively collaborate with a diverse range of partners, including international space agencies (ESA, CSA), federal and provincial government bodies, private sector entities, and NGOs, leading key environmental monitoring and geospatial intelligence projects. My work involves massively distributed and parallelized workloads geared toward raster data (EO satellite, aerial, drone data), providing high-performance and scalable Python programming solutions. I am able to reduce the execution time of traditional remote sensing workflows from months/years to mere hours.

Technical Competencies

Cloud & DevOps Engineering

Backend & Platform Development

Geospatial & Data Science

Key Project Experience

Career Timeline

Publications & Conferences

Publications

  • Developing a Typeface for Low Resolution E-Ink Displays (2018)

    In Extended Abstracts of the 2018 CHI Conference on Human Factors in Computing Systems.

  • Ship Detection in Satellite Optical Imagery (2020)

    ACM AICCC. 2020 3rd Artificial Intelligence and Cloud Computing Conference.

Conferences

  • Living Planet Symposium 2025, Vienna, Austria

    Presented the Radar Alerts for Mangrove Monitoring (RAMM) project. Engaged with the EOEPCA+ team to leverage their components and the APEx team for OpenEO integration.

Acronyms & Key Terms

APEx: Advanced Processing and Exploitation Platform
AWS: Amazon Web Services
CAMEO: Corridor and Asset Monitoring using Earth Observation
C/C++: C / C++ (Programming Languages)
CI/CD: Continuous Integration / Continuous Delivery
CLI: Command Line Interface
CNCF FOSS: Cloud Native Computing Foundation Free and Open Source Software
CNN: Convolutional Neural Network
CSA: Canadian Space Agency
CRDs: Custom Resource Definitions (Kubernetes)
Dask: Python library for parallel computing
Deep Learning: Subset of Machine Learning based on Artificial Neural Networks
DevOps: Development Operations
DexIDP: Dex Identity Provider
DFO: Department of Fisheries and Oceans (Canada)
Digital Ocean: Cloud Infrastructure Provider
Docker: Platform for developing, shipping, and running applications in containers
EO: Earth Observation
EOEPCA+: Earth Observation Exploitation Platform Common Architecture
ESA: European Space Agency
FastAPI: Python web framework for building APIs
FOSS: Free and Open Source Software
GCP: Google Cloud Platform
GDAL: Geospatial Data Abstraction Library
GeoAnalytics: Hatfield's Geospatial Cloud Platform
GitOps: Operational framework that takes DevOps best practices used for application development and applies them to infrastructure automation
Golang: Go (Programming Language)
GPU: Graphics Processing Unit
HCI: Human-Computer Interaction
Helm: Package manager for Kubernetes
HPC: High-Performance Computing
HTML: HyperText Markup Language
IaC: Infrastructure as Code
ICAS: International Centre for Applied Sciences
JIRA: Issue tracking and project management software
Javascript: Programming Language
JupyterLab: Web-based interactive development environment for Jupyter notebooks
KEDA: Kubernetes Event-Driven Autoscaling
KubeFlow: Machine learning toolkit for Kubernetes
Kubernetes: Open-source system for automating deployment, scaling, and management of containerized applications
LLMs: Large Language Models
MRC: Multi-Resolution Classification
MySQL/SQL: My Structured Query Language / Structured Query Language
NARW: North Atlantic Right Whale
NextJS: React framework for production
NGOs: Non-Governmental Organizations
OGC: Open Geospatial Consortium
OpenLDAP: Open Lightweight Directory Access Protocol
OpenEO: Open Earth Observation
OpenShift: Red Hat's Kubernetes platform
OAuth2-Proxy: Reverse proxy that provides authentication with Google, GitHub or other providers
Paxos: Family of protocols for solving consensus in a network of unreliable processors
PEOPLE-ER: Pioneer Earth Observation apPLications for the Environment – Ecosystem Restoration
PMI: Project Management Institute
PostgreSQL: Open-source relational database
PyTorch: Open-source machine learning framework
QA: Quality Assurance
QGIS: Open-source desktop geographic information system
R: Programming language for statistical computing and graphics
RAMM: Radar Alerts for Mangrove Monitoring
RasterIO: Python library for raster data access
RBAC: Role-Based Access Control
React: Javascript library for building user interfaces
Redis: Open-source, in-memory data structure store
RedisAI: Real-time AI serving solution for Redis
ResNet101: Deep convolutional neural network
REST: Representational State Transfer
RPC: Remote Procedure Call
RStudio: Integrated development environment for R
Sentinel-2/3: European Union Earth observation satellites
SKlearn: Scikit-learn (Python machine learning library)
STAC: Spatiotemporal Asset Catalog
STEM: Science, Technology, Engineering, and Mathematics
TC: Transport Canada
TensorFlow/Keras: Open-source machine learning framework / API for neural networks
TiTiler: Dynamic tile server for geospatial raster data
TypeScript: Superset of JavaScript that adds static types
UBC: University of British Columbia
U-Net: Convolutional network for biomedical image segmentation
UVic: University of Victoria
VIU: Vancouver Island University
VM: Virtual Machine
VR: Virtual Reality
VSCode: Visual Studio Code (Code editor)
VTT: VTT Technical Research Centre of Finland
YAML: YAML Ain't Markup Language

Personal Skills & Interests

Personal Skills: Adaptable, driven to learn, strong problem-solver.

Extra-Curricular: Hiking, Paddleboarding, Running, Camping