Back to Portfolio 100% Free
// learn . build . ship

Free GeoAI &
Vibe Coding Courses

Hands-on courses combining AI, geospatial science, and modern development. Built by a researcher, designed for builders.

// vibe-coding-geo
import { Map, AI } from 'geo-stack'
const app = buildWithVibes()
deploy('production') // ship it
Vibe CodingGeoAIWeb Apps

Vibe Coding for Geo Applications

Learn to build geospatial web applications using AI-assisted development workflows. From prompting to production, master the art of shipping geo tools fast.

Free Course
Project-Based
Start Learning
// geoai-earth-engine
var lulc = ee.ImageCollection(
  'GOOGLE/DYNAMICWORLD/V1')
Map.addLayer(lulc, vis, 'LULC')
Google Earth EngineLULCRemote Sensing

GeoAI in Google Earth Engine

Master Land Use / Land Cover analysis with Dynamic World in Google Earth Engine. From satellite imagery to classified maps using cloud-based geospatial AI.

Free Course
Earth Engine
Start Learning
# satellite-image-classifier
import tensorflow as tf
ds = tfds.load('eurosat/rgb')
model.fit(train, epochs=25)
Google ColabDeep LearningEuroSAT

Satellite Image Classification with Google Colab

Build a CNN and fine-tune ResNet50 on real Sentinel-2 satellite imagery from the EuroSAT dataset. Train, evaluate, and export land use classifiers entirely in the cloud.

Free Course
~3 Hours
Start Learning
# random-forest-satellite
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier(n_estimators=200)
rf.fit(X_train, y_train) # 88% accuracy
Random ForestScikit-learnEuroSAT

Satellite Image Classification with Random Forest

Learn classic machine learning for land cover mapping. Train a Random Forest on Sentinel-2 patches, use PCA for dimensionality reduction, and interpret feature importance - no GPU needed.

Free Course
~2 Hours
Start Learning
// flood-deepseek-prompt
prompt = "Flood mapping Sentinel-1 VV"
DeepSeek.generate(prompt) // GEE script
const floodMask = diff.gt(2)
DeepSeek AISentinel-1 SARFlood Mapping

Flood Mapping with Sentinel-1 & DeepSeek AI

Learn to prompt DeepSeek to generate GEE code - no API key, just smart prompting. Map flood extent using Sentinel-1 SAR, compute flooded area in hectares, and export results.

Free Course
~2 Hours
Start Learning
// hansen-forest-loss
var hansen = ee.Image(
  'UMD/hansen/global_forest_change_2023_v1_11')
var loss = hansen.select('lossyear')
Hansen GFCDeepSeek AIDeforestation

Forest Loss Mapping with Hansen GFC & DeepSeek

Detect deforestation across North Morocco using the Hansen Global Forest Change dataset. Generate GEE scripts with DeepSeek AI, compute annual loss by year, and map fire-driven deforestation with FIRMS.

Free Course
~2 Hours
Start Learning
// urban-heat-island
var ds = ee.Image('LANDSAT/LC08/C02/T1_L2')
Map.addLayer(ds, vis, 'LST')
// DeepSeek generated
Urban Heat IslandLandsatDeepSeek

Urban Heat Island Mapping with Landsat and DeepSeek

Map urban heat islands in North Morocco using Landsat 8 imagery and Google Earth Engine. Utilize DeepSeek AI to analyze and interpret the results, providing insights into urban climate dynamics.

Free Course
~2 Hours
Start Learning
// drought-ndvi-modis
var ds = ee.ImageCollection('MODIS/061/MOD13A1')
Map.addLayer(ds, vis, 'NDVI')
// DeepSeek generated
DroughtNDVIMODISDeepSeek

Drought Monitoring with MODIS NDVI and DeepSeek

Monitor drought in North Morocco using MODIS NDVI data and Google Earth Engine. Learn to calculate NDVI time series and use DeepSeek for code generation.

Free Course
~2 Hours
Start Learning
// coastal-erosion-sentinel2
var ds = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
Map.addLayer(ds, vis, 'NDWI')
// DeepSeek generated
Coastal ErosionSentinel-2DeepSeek

Coastal Erosion Detection with Sentinel-2 and DeepSeek

Detect coastal erosion in North Morocco using Sentinel-2 imagery and DeepSeek. Analyze NDWI and time series data to identify areas at risk.

Free Course
~2 Hours
Start Learning
// snow-cover-modis
var ds = ee.ImageCollection('MODIS/061/MOD10A1')
Map.addLayer(ds, vis, 'Snow Cover')
// DeepSeek generated
Snow CoverMODISDeepSeek

Snow Cover Dynamics with MODIS and DeepSeek

Analyze snow cover changes in North Morocco using MODIS data and Google Earth Engine. Learn to process satellite imagery and generate code with DeepSeek for efficient geospatial analysis.

Free Course
~2 Hours
Start Learning
// cropland-dynamic-world
var ds = ee.ImageCollection('GOOGLE/DYNAMICWORLD/V1')
Map.addLayer(ds, vis, 'Cropland')
// DeepSeek generated
CroplandSentinel-2Dynamic World

Cropland Mapping with Sentinel-2 and Dynamic World

Map cropland in North Morocco using Sentinel-2 and Dynamic World data in Google Earth Engine. A practical introduction to remote sensing for land cover classification.

Free Course
~2 Hours
Start Learning
// wildfire-risk-modis
var ds = ee.ImageCollection('FIRMS')
Map.addLayer(ds, vis, 'Fire Risk')
// DeepSeek generated
WildfireRisk MappingMODISDeepSeek

Wildfire Risk Mapping with MODIS and DeepSeek

Map wildfire risk in North Morocco using MODIS data and Google Earth Engine. Analyze fire detections, vegetation indices, and land surface temperature to identify vulnerable areas.

Free Course
~2 Hours
Start Learning
// water-quality-sentinel2
var ds = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
Map.addLayer(ds, vis, 'Water Quality')
// DeepSeek generated
Water QualitySentinel-2DeepSeek

Water Quality Monitoring with Sentinel-2 and DeepSeek

Monitor water quality using Sentinel-2 imagery and DeepSeek AI in Google Earth Engine. Analyze water bodies in North Morocco, estimate key parameters, and export your results.

Free Course
~2 Hours
Start Learning
// solar-potential-mapping
var ds = ee.ImageCollection('ECMWF/ERA5_LAND/HOURLY')
Map.addLayer(ds, vis, 'Solar Potential')
// DeepSeek generated
Solar EnergyPVGISDeepSeek

Solar Potential Mapping

Map solar energy potential in North Morocco using PVGIS principles and DeepSeek. Analyze ERA5-Land data and SRTM DEM in GEE to identify suitable locations for solar panel installations.

Free Course
~2 Hours
Start Learning
// air-quality-sentinel5p
var ds = ee.ImageCollection('COPERNICUS/S5P/OFFL/L3_NO2')
Map.addLayer(ds, vis, 'NO2')
// DeepSeek generated
Air QualityNO2Sentinel-5PDeepSeek

Air Quality Mapping with Sentinel-5P NO2 and DeepSeek

Map air quality using Sentinel-5P NO2 data in Google Earth Engine. Learn to filter, mask, and visualize NO2 concentrations and leverage DeepSeek for efficient code generation.

Free Course
~2 Hours
Start Learning
// mangrove-hansen-gfc
var ds = ee.Image('UMD/hansen/global_forest_change_2023_v1_11')
Map.addLayer(ds, vis, 'Mangrove Loss')
// DeepSeek generated
MangrovesHansen GFCDeepSeek

Mangrove Loss Detection with GFC and DeepSeek

Detect mangrove loss using Hansen GFC data in Google Earth Engine. Learn to refine your analysis with DeepSeek AI for better accuracy in coastal forest monitoring.

Free Course
~2 Hours
Start Learning
// glacier-retreat-mapping-with
var ds = ee.Image('LANDSAT/LC08/C01/T1_SR')
Map.addLayer(ds, vis, 'Glacier Retreat Ma')
// DeepSeek generated
Glaciers Retreat Remote Sensing Landsat DeepSeek GEE

Glacier Retreat Mapping with Landsat and DeepSeek

Map glacier retreat in North Morocco using Landsat imagery and Google Earth Engine. Learn to calculate NDSI, classify glaciers, and visualize changes over time, enhanced with DeepSeek code generation.

Free Course
~2 hours
Start Learning
// soil-moisture-from-space
var ds = ee.Image('COPERNICUS/S1_GRD')
Map.addLayer(ds, vis, 'Soil Moisture from')
// DeepSeek generated
SAR Soil Moisture Sentinel-1 DeepSeek GEE Morocco

Soil Moisture from Space

Learn to estimate soil moisture using Sentinel-1 SAR data in Google Earth Engine. Use DeepSeek to generate code and analyze soil moisture trends in North Morocco.

Free Course
~2 hours
Start Learning
// urban-green-space-analysis-w
var ds = ee.Image('LANDSAT/LC08/C01/T1_SR')
Map.addLayer(ds, vis, 'Urban Green Space ')
// DeepSeek generated
NDVI Urban Green Space DeepSeek Remote Sensing Morocco

Urban Green Space Analysis with NDVI and DeepSeek

Analyze urban green spaces in North Morocco using Landsat 8 imagery and NDVI. Learn to leverage Google Earth Engine and AI-powered tools for efficient geospatial analysis.

Free Course
~2 hours
Start Learning
// dust-storm-detection-with-mo
var ds = ee.Image('MODIS/061/MOD09GA')
Map.addLayer(ds, vis, 'Dust Storm Detecti')
// DeepSeek generated
Dust Storms MODIS DeepSeek Remote Sensing GeoAI

Dust Storm Detection with MODIS and DeepSeek

Detect dust storms in North Morocco using MODIS data and AI-generated code. Learn to process satellite imagery and leverage DeepSeek for rapid geospatial analysis.

Free Course
~2 hours
Start Learning
// land-degradation-mapping-wit
var ds = ee.Image('LANDSAT/LC08/C01/T1_SR')
Map.addLayer(ds, vis, 'Land Degradation M')
// DeepSeek generated
Land Degradation NDVI Trend Analysis DeepSeek Google Earth Engine

Land Degradation Mapping with NDVI Trends and DeepSeek

Map land degradation in North Morocco using NDVI trends derived from Landsat 8 data in Google Earth Engine. Learn to calculate NDVI, perform time series analysis, and identify areas with significant degradation.

Free Course
~2 hours
Start Learning
// informal-settlement-mapping-
var ds = ee.Image('COPERNICUS/S2_SR_HARMONIZED')
Map.addLayer(ds, vis, 'Informal Settlemen')
// DeepSeek generated
Informal Settlements Remote Sensing Deep Learning Google Earth Engine Sentinel-2

Informal Settlement Mapping with Sentinel-2 and DeepSeek

Map informal settlements in North Morocco using Sentinel-2 imagery and DeepSeek AI. This course teaches you to preprocess satellite data and leverage AI for urban feature extraction in Google Earth Engine.

Free Course
~2 hours
Start Learning
// river-floodplain-mapping-wit
var ds = ee.Image('USGS/SRTMGL1_003')
Map.addLayer(ds, vis, 'River Floodplain M')
// DeepSeek generated
Floodplain Mapping SRTM DEM DeepSeek Remote Sensing Morocco

River Floodplain Mapping with SRTM and DeepSeek

Delinate river floodplains in North Morocco using SRTM DEM data and Google Earth Engine. Learn to calculate flow accumulation, apply thresholds, and refine results with NDWI using Sentinel-2 imagery, and automate the process with DeepSeek.

Free Course
~2 hours
Start Learning
// crop-stress-detection-with-s
var ds = ee.Image('COPERNICUS/S2_SR')
Map.addLayer(ds, vis, 'Crop Stress Detect')
// DeepSeek generated
Sentinel-2 Red Edge Crop Stress DeepSeek Morocco

Crop Stress Detection with Sentinel-2 Red Edge and DeepSeek

Detect crop stress in North Morocco using Sentinel-2 red edge bands and Google Earth Engine. Learn to calculate NDRE, identify stressed areas, and integrate DeepSeek for automated analysis, even with limited remote sensing experience.

Free Course
~2 hours
Start Learning
// global-night-light-dynamics:
var ds = ee.Image ( 'NOAA/VIIRS/DNB/MONTHLY_V1/VCMSLCFG' )
Map.addLayer ( ds, vis, 'Global Night Light' )
// AI-assisted GeoAI course
VIIRS Nighttime Lights Time Series Analysis Urban Growth GeoAI

Global Night Light Dynamics: VIIRS Time Series & Machine Learning

Master global night light time-series analysis using VIIRS satellite imagery in Google Earth Engine. Learn to filter stray-light corrected composites, fit pixel-wise temporal trends, and execute machine learning workflows.

Free Course
~2 hours
Start Learning
// urban-health-surveillance-wi
var ds = ee.Image ( 'COPERNICUS/S5P/OFFL/L3_NO2' )
Map.addLayer ( ds, vis, 'Urban Health Surve' )
// AI-assisted GeoAI course
Urban Health Air Quality Urban Heat Island Spatial Epidemiology GeoAI Sentinel-5P

Urban Health Surveillance with Environmental and Geospatial Data

Master urban health surveillance workflows using Google Earth Engine. Combine Sentinel-5P air pollution data, MODIS thermal imagery, and GHSL infrastructure layers with spatial machine learning to evaluate global city exposures.

Free Course
~2 hours
Start Learning
// global-digital-epidemiology:
var ds = ee.Image ( 'ECMWF/ERA5_LAND/DAILY_AGGR' )
Map.addLayer ( ds, vis, 'Global Digital Epi' )
// AI-assisted GeoAI course
Digital Epidemiology Google Trends Machine Learning Public Health GeoAI Global Health

Global Digital Epidemiology: Integrating Search Signals with GeoAI and Earth Observation

Learn to combine Google Trends web search volume metrics with Earth observation climate variables using Google Earth Engine. Build predictive machine learning models to map global syndromic health proxies while addressing spatial bias.

Free Course
~2 hours
Start Learning
// dengue-risk-mapping-with-cli
var ds = ee.Image ( 'ECMWF/ERA5_LAND/MONTHLY_AGGR' )
Map.addLayer ( ds, vis, 'Dengue Risk Mappin' )
// AI-assisted GeoAI course
Dengue Risk Spatial Epidemiology ERA5-Land CHIRPS Machine Learning Public Health Southeast Asia

Dengue Risk Mapping with Climate Data and Remote Sensing

Learn to model dengue transmission risk across tropical Southeast Asia by integrating ERA5-Land climate reanalysis, CHIRPS precipitation, MODIS vegetation indices, and WorldPop demographics using Random Forest machine learning in Earth Engine.

Free Course
~2 hours
Start Learning
// healthcare-accessibility-map
var ds = ee.Image ( 'WorldPop/GP/100m/pop' )
Map.addLayer ( ds, vis, 'Healthcare Accessi' )
// AI-assisted GeoAI course
Public Health Spatial Accessibility WorldPop Sub-Saharan Africa Health Geography Healthcare Disparities

Healthcare Accessibility Mapping with GIS and AI in Sub-Saharan Africa

Learn to model physical healthcare travel time and isolate underserved populations in Sub-Saharan Africa using WorldPop and global friction surface datasets inside Google Earth Engine.

Free Course
~2 hours
Start Learning
// global-urban-heat-exposure-a
var ds = ee.Image ( 'LANDSAT/LC08/C02/T1_L2' )
Map.addLayer ( ds, vis, 'Global Urban Heat ' )
// AI-assisted GeoAI course
Heat Exposure Urban Heat Island Public Health Landsat LST WorldPop GeoAI Heat Vulnerability Index

Global Urban Heat Exposure and Health Risk Mapping with GeoAI

Master advanced spatial health workflows by combining Landsat Land Surface Temperature, WorldPop demographic layers, and GeoAI machine learning algorithms to model urban heat vulnerability across global cities.

Free Course
~2 hours
Start Learning
// global-air-pollution-and-res
var ds = ee.Image ( 'COPERNICUS/S5P/OFFL/L3_NO2' )
Map.addLayer ( ds, vis, 'Global Air Polluti' )
// AI-assisted GeoAI course
Air Quality Sentinel-5P Public Health Population Exposure Random Forest GeoAI

Global Air Pollution and Respiratory Health Risk Mapping via GeoAI

Quantify ambient NO2 air pollution exposure and evaluate respiratory health risk across global urban centers using Sentinel-5P, ERA5, GHSL, and machine learning models in Google Earth Engine.

Free Course
~2 hours
Start Learning
// global-flood-risk-and-public
var ds = ee.Image ( 'COPERNICUS/S1_GRD' )
Map.addLayer ( ds, vis, 'Global Flood Risk ' )
// AI-assisted GeoAI course
Sentinel-1 SAR Flood Mapping Public Health Spatial Epidemiology WorldPop Disaster Risk

Global Flood Risk and Public Health Impact Assessment

Master advanced SAR remote sensing and demographic integration in Google Earth Engine to map flood extent and quantify public health risk exposure during severe inundation events.

Free Course
~2 hours
Start Learning
// global-climate-change-and-ve
var ds = ee.Image ( 'ECMWF/ERA5_LAND/MONTHLY_AGGR' )
Map.addLayer ( ds, vis, 'Global Climate Cha' )
// AI-assisted GeoAI course
Vector-Borne Diseases Climate Health Spatial Epidemiology Machine Learning Google Earth Engine

Global Climate Change and Vector-Borne Disease Risk Modeling

Master climate-driven vector-borne disease risk modeling using multi-sensor satellite imagery and Random Forest classifiers in Google Earth Engine. Quantify tropical environmental suitability proxies for public health surveillance and climate adaptation planning.

Free Course
~2 hours
Start Learning
// global-spatial-epidemiology:
var ds = ee.Image ( 'ECMWF/ERA5_LAND/MONTHLY_AGGR' )
Map.addLayer ( ds, vis, 'Global Spatial Epi' )
// AI-assisted GeoAI course
Spatial Epidemiology Public Health Disease Mapping GeoAI Random Forest ERA5-Land WorldPop

Global Spatial Epidemiology: GeoAI Machine Learning for Environmental Disease Risk Mapping

Master advanced spatial epidemiology workflows by combining ERA5-Land climate data, MODIS vegetation indices, and WorldPop grids. Learn to model disease vector suitability and quantify exposed populations using GeoAI.

Free Course
~2 hours
Start Learning
// global-population-vulnerabil
var ds = ee.Image ( 'WorldPop/GP/100m/pop' )
Map.addLayer ( ds, vis, 'Global Population ' )
// AI-assisted GeoAI course
Public Health Population Mapping Environmental Exposure Vulnerability Index Google Earth Engine

Global Population Vulnerability Mapping for Public Health Risk Assessment

Learn to integrate WorldPop data, Sentinel-5P atmospheric metrics, and ERA5 thermal climate reanalysis in Google Earth Engine to construct spatial population vulnerability indices for public health management.

Free Course
~2 hours
Start Learning
// digital-health-and-environme
var ds = ee.Image ( 'COPERNICUS/S5P/OFFL/L3_NO2' )
Map.addLayer ( ds, vis, 'Digital Health and' )
// AI-assisted GeoAI course
Digital Health Environmental Health Air Quality Urban Heat Sentinel-5P Exposure Assessment GeoAI

Digital Health and Environmental Exposure Monitoring in Global Cities

Learn how to quantify urban air pollution, surface heat islands, and population vulnerability across global cities using Sentinel-5P, MODIS, and GHSL datasets in Google Earth Engine.

Free Course
~2 hours
Start Learning

More courses coming soon

IoT for Environmental Monitoring, Flood Prediction with ML, Spatial Epidemiology, and more.