Thomas' Learning Hub
Interactive Curriculum

Cloud-Native Geospatial

The comprehensive self-learning platform for modern spatial data engineering, AI, and visualization.

Track 1: Cloud-Native Fundamentals

Core formats and cloud storage optimization.

9 Modules in this path

Techniques Learned

Cloud ArchitectureParadigm Shifts

Tools Introduced

Next.js
01.01

Introduction to Cloud-Native

Foundational concepts and shifting paradigms.Go

Techniques Learned

JSON-LD MappingCatalog Navigation

Tools Introduced

STAC APIPySTAC
01.02

SpatioTemporal Asset Catalog (STAC)

Metadata standards for discovery.Go

Techniques Learned

OverviewsTilingInternal Masking

Tools Introduced

GDALRasterioRio-Cogeo
01.03

Cloud Optimized GeoTIFF

Efficient raster layouts for remote access.Go

Techniques Learned

Chunking StrategiesSharding (Zarr v3)Concurrent Access

Tools Introduced

ZarrXarrayDask
01.04

Zarr & Chunked Arrays

Multi-dimensional datasets for the cloud using the Zarr v3 specification and sharding.Go

Techniques Learned

Columnar StorageFlat Buffers

Tools Introduced

GeoParquetFlatGeobuf
01.05

Modern Vector Formats

GeoParquet, FlatGeobuf, and more.Go

Techniques Learned

PartitioningSchema EvolutionSpatial Query Pruning

Tools Introduced

Apache IcebergAthena
01.06

Apache Iceberg for Geo

Transactional tables and native geospatial support in Iceberg v3.Go

Techniques Learned

Dimension ExtractionLazy Loading

Tools Introduced

Open Data Cubestackstac
01.07

DataCube Fundamentals

Multi-dimensional analysis concepts using xarray and stackstac.Go

Techniques Learned

Range RequestsCold/Hot Storage

Tools Introduced

S3GCS
01.08

Optimizing Cloud Storage

Egress, buckets, and performance tiers.Go

Techniques Learned

Parallel ProcessingLazy EvaluationTask Graphs

Tools Introduced

Daskdistributed
01.09

Scaling Distributed Compute

Distributed geospatial analysis at scale using Dask and local clusters.Go

Track 2: Performance & Product Patterns

Building modern geospatial applications at scale.

8 Modules in this path

Techniques Learned

Virtual FilesystemsOn-the-fly Transformation

Tools Introduced

GDAL VRTTiTiler
02.01

Ingesting Legacy Formats in Cloud-Native Ways

Make old data formats cloud-ready: PyOgrio, GDAL, and the local-cache pattern.Go

Techniques Learned

GeoDataFrame OperationsSpatial Join

Tools Introduced

GeoPandas
02.02

GeoPandas Fundamentals

Core skills for spatial engineering in Python.Go

Techniques Learned

Spatial PredicatesR-Tree IndexingTwo-Stage FilterColumnar Pushdown

Tools Introduced

DuckDBDuckDB Spatial ExtensionGDAL
02.03

Spatial SQL with DuckDB

Geometry types, spatial predicates, R-tree indexing, and multi-format I/O.Go

Techniques Learned

Data Drift DetectionPipeline ValidationGeospatial SLIs/SLOs

Tools Introduced

PydanticGreat Expectations
02.04

Integrity & Observability

Monitoring geospatial data pipelines and spatial quality SLIs.Go

Techniques Learned

SQL Spatial ExtensionsOLAP Performance

Tools Introduced

BigQuerySnowflake-Geo
02.05

Spatial Warehousing

Cloud-native databases.Go

Techniques Learned

Static vs. Dynamic CatalogsCrawling

Tools Introduced

STAC-FastAPIFranklin
02.06

Building STAC Catalogs

Creating discoverable spatial registries.Go

Techniques Learned

HTTP Range RequestsBinary Packing

Tools Introduced

PMTilesProtomaps
02.07

Serverless Tiles with PMTiles

Global map hosting with zero servers.Go

Techniques Learned

WASM TranslationClient-side Compute

Tools Introduced

DuckDB-WasmShapely-Wasm
02.08

WASM Engines in Browser

Running geospatial compute client-side.Go

Track 4: The 'Scout' Project (Agentic GIS)

End-to-end implementation of a Chat-to-Map application.

9 Modules in this path

Techniques Learned

System DesignUser Story Mapping

Tools Introduced

Mermaid.jsNext.js
04.01

Scout: Architecture & Design

High-level design of a Chat-to-Map application.Go

Techniques Learned

Spatial JoinCRS Reprojection

Tools Introduced

GeoPandasDuckDB
04.02

Scout: Phase 1: ETL

Ingesting and cleaning data for the application.Go

Techniques Learned

Vector EmbeddingSemantic Search

Tools Introduced

Supabase PGVectorLangChain
04.03

Scout: Phase 2: RAG

Retrieval Augmented Generation for Geo-AI.Go

Techniques Learned

React Component LifecycleMapLibre State Management

Tools Introduced

MapLibre GL JSTailwindCSS
04.04

Scout: Phase 3: Application

Building the user-facing spatial interface.Go

Techniques Learned

Metadata FilteringRe-ranking

Tools Introduced

PineconeChroma
04.05

Vector Schema & RAG Patterns

Optimizing metadata for LLM retrieval.Go

Techniques Learned

Tool CallingLoop Iteration

Tools Introduced

OpenAI Function CallingLangGraph
04.06

Agentic Geospatial Queries

LLM-orchestrated spatial operations.Go

Techniques Learned

Dynamic SQL GenerationSQL injection protection

Tools Introduced

Claude 3.5 SonnetDuckDB
04.07

Prototype: Agentic GIS

Building a CARTO-style agentic workbench.Go

Techniques Learned

Semantic SQL TranslationSchema Prompting

Tools Introduced

DuckDB-WasmMapLibre
04.08

Prototype: NL-to-SQL Web GIS

Building a natural language interface for styling maps.Go

Techniques Learned

REST API IntegrationJS SDK EmbeddingFelt ExtensionsWebhook EventsAI Panel UX

Tools Introduced

Felt API@feltmaps/js-sdkEPA ECHO APIfelt-python
04.09

Felt Integration: Collaborative Mapping API

REST API, JS SDK embedding, and building a custom AI Extension.Go

Cloud-Native Geospatial Self-Learning Tutorial