← Lillie Academy · a Lillie Earth Intelligence courseCourse modules →lillieearthintelligence.com
12-week curriculum · wildfire · forestry · SAR analytics · 10–15 hrs/week

Lillie Academy

A fundamentals-first path from geospatial Python to production remote-sensing ML: the engineering rigor, SAR depth, and portfolio that hiring managers at Planet, ICEYE, Overstory, Pachama, and JPL actually screen for.

12weeks · 4 phases
~150 h12.5 h/week average
4portfolio projects
3public write-ups
0 of 0 tasksprogress saved in this browser
Tick a task when it's done. Weeks go green at 100%.
How a week works. Each week is ~12 hours split roughly 4 h reading/lectures, 6 h hands-on lab, 2 h writing and review. Three sessions of four hours beat six of two, SAR preprocessing and model training need long uninterrupted blocks. Every lab lands in one GitHub repo (eo-portfolio) with a README, tests, and a short results note, so by week 12 the portfolio writes itself. A single study area runs through the whole course: pick one recent large wildfire with an MTBS perimeter (the 2025 Southern California fires are ideal: dense Sentinel-1 coverage, HLS, GEDI tracks, CAL FIRE perimeters) and one tropical forest AOI (a Niger Delta or Cross River State tile is ideal for tropical forest and wetland monitoring).
I

Foundations, the data model, the physics, the radar

Weeks 1–3. Rebuild from first principles at speed: how EO data is stored and served in 2026, what a reflectance or backscatter number actually means, and how to get a clean Sentinel-1 image without trusting a black box.

WEEK 01

The cloud-native geospatial stack

4 h theory · 6 h lab · 2 h write-up
engineeringstac · cog · zarr

Every employer's JD lists GDAL, rasterio, xarray, GeoPandas, STAC, and dask. The goal this week is to stop thinking of imagery as files and start thinking of it as lazily-evaluated arrays with a CRS.

Read / watch

Lab

Deliverable

A tested cube.py module plus a notebook that produces a true-colour, cloud-masked monthly composite over the AOI. README explains provider choice and the COG/Zarr decision.

WEEK 02

Optical radiometry and burn severity

5 h theory · 5 h lab · 2 h write-up
wildfireoptical

dNBR is the lingua franca of post-fire assessment, and a surprising number of candidates can compute it but not explain why NIR rises and SWIR falls with healthy vegetation, or why a top-of-atmosphere dNBR is a different product.

Read / watch

Lab

Deliverable

Burn-severity notebook + a one-page results note comparing your dNBR classes against MTBS with an honest accuracy table. This becomes section 1 of Portfolio Project A.

WEEK 03

SAR fundamentals I, from pulse to backscatter

6 h theory · 5 h lab · 1 h write-up
sarforestry

This is the week that separates "has used Sentinel-1" from "understands SAR". Interviewers at ICEYE, Capella, and Umbra will ask about layover, speckle statistics, and why you terrain-corrected before they ask about your model.

Read / watch

Lab

Deliverable

sar_prep.py (HyP3 + OPERA fetch, dB conversion, speckle filtering) with tests, and a notebook "three RTCs, one scene" explaining differences. Short blog-style note: what C-band backscatter sees after a fire.

II

Core analytics, classical ML, forest structure, SAR change

Weeks 4–6. Most production EO systems still run on gradient boosting and careful sampling design, not transformers. Learn to do that properly, then add forest structure from lidar and change detection from radar time series.

WEEK 04

Classical ML for EO, done rigorously

4 h theory · 6 h lab · 2 h write-up
mlforestrysar

Spatial autocorrelation makes random train/test splits lie. A candidate who shows spatially blocked cross-validation and area-weighted accuracy with confidence intervals is instantly credible.

Read / watch

Lab

Deliverable

Forest mask pipeline with spatial CV report, area estimates with 95% CI, and an MLflow experiment log. This is Portfolio Project B's foundation.

WEEK 05

Forestry I, structure, lidar, and biomass

5 h theory · 6 h lab · 1 h write-up
forestryml

Carbon companies (Pachama, Sylvera, Chloris, CTrees) hire on exactly this: fusing GEDI footprints with wall-to-wall imagery to map canopy height and biomass, with defensible uncertainty.

Read / watch

Lab

Deliverable

Canopy height + AGBD maps with uncertainty rasters and a validation notebook. Portfolio Project B complete: "Forest structure and carbon loss, AOI X, 2019–2025".

WEEK 06

SAR fundamentals II, time series and change

4 h theory · 7 h lab · 1 h write-up
sarforestrywildfire

Cloud-free change detection is the whole reason SAR exists in forestry and fire. RADD, DIST-ALERT-S1 and most commercial deforestation alerts are built on the methods in this week.

Read / watch

Lab

Deliverable

sar_change.py with two detectors and a comparison notebook. Public write-up #1: "Detecting burned area through cloud with Sentinel-1, a baseline and where it fails".

III

Deep learning for Earth observation

Weeks 7–9. Segmentation networks, then geospatial foundation models (Prithvi-EO-2.0, Clay, TerraMind, AlphaEarth embeddings), then SAR-specific deep learning and a first contact with InSAR and NISAR.

WEEK 07

Segmentation networks for imagery

4 h theory · 7 h lab · 1 h write-up
deep learningwildfire

U-Net on HLS burn scars is the canonical fine-tuning task, it's what NASA-IMPACT used to demonstrate Prithvi. Build the baseline yourself before touching the foundation model so you can judge whether it actually helps.

Read / watch

Lab

Deliverable

Trained U-Net with a reproducible config, metrics table, and prediction CLI. Portfolio Project A now has a learned model alongside the index baseline.

WEEK 08

Geospatial foundation models

4 h theory · 7 h lab · 1 h write-up
foundation modelsforestrywildfire

In 2026 JDs increasingly say "experience fine-tuning geospatial foundation models" and "embedding-based workflows". Knowing when a GeoFM beats a U-Net, and when it's just slower, is the skill, not the model name.

Read / watch

Lab

Deliverable

A benchmark notebook and Public write-up #2: "U-Net vs Prithvi vs Clay vs embeddings for burn-scar mapping: accuracy, labels, and cost". Portfolio Project C.

WEEK 09

SAR deep learning, InSAR, and NISAR

5 h theory · 6 h lab · 1 h write-up
sardeep learning

NISAR provisional products have been flowing since July 2026 and almost nobody on the job market has touched them yet. Coherence, polarimetry, and SAR-specific DL are the differentiators for SAR-vendor roles.

Read / watch

Lab

Deliverable

Coherence-augmented change detector, a SAR flood model, and a short NISAR-vs-Sentinel-1 comparison note, a timely, rare portfolio piece.

IV

Production systems and the job

Weeks 10–12. Turn the pieces into a near-real-time wildfire monitoring service, containerize and schedule it on cloud infrastructure, then package the whole portfolio and run a targeted job search.

WEEK 10

Wildfire systems, detection to damage, end to end

3 h theory · 8 h lab · 1 h write-up
wildfirepipelines

Overstory, Pano AI, utilities, and the Earth Fire Alliance ecosystem want people who can stitch active-fire detections, perimeters, and post-fire imagery into a pipeline that runs unattended and degrades gracefully.

Read / watch

Lab, Portfolio Project D

Deliverable

A working firewatch package that runs end-to-end on a laptop for one region, with tests and a sample report.

WEEK 11

MLOps and cloud deployment

3 h theory · 8 h lab · 1 h write-up
mlopsaws

The single biggest gap between scientists and "ML engineers" in JDs: Docker, orchestration, object storage, and CI. A week here is worth more to your hireability than another model.

Read / watch

Lab

Deliverable

Deployed, scheduled firewatch with an architecture diagram in the README and a public demo map. Public write-up #3: "From FIRMS hotspot to damage report in under an hour".

WEEK 12

Portfolio, interviews, and applications

2 h theory · 4 h polish · 6 h job search
career

Four projects, three write-ups, and a deployed service are more than most applicants bring. This week makes them legible to a recruiter in 90 seconds and to a hiring manager in 10 minutes.

Polish

Interview prep

Applications

Deliverable

Polished portfolio, updated resume, ten applications sent, and a recurring weekly job-search block on the calendar.

§

Reference, what "pro" means, who's hiring, what they ask

Use these as a checklist at the end of each phase and as prep in week 12.

Competency checklist (the pro bar)

  • Explain σ⁰/γ⁰, speckle statistics, layover/shadow, and polarization scattering mechanisms without notes.
  • Go from STAC query to cloud-masked analysis-ready cube in under 30 lines, lazily, for any provider.
  • Design a stratified sample, compute area estimates with CIs, and defend a spatial CV scheme.
  • Train, evaluate, and compare a U-Net and a GeoFM with honest low-label and cost analyses.
  • Fuse GEDI with wall-to-wall imagery into a height/biomass map with uncertainty.
  • Implement a probabilistic SAR change detector and know the RADD / DIST-ALERT lineage.
  • Ship a containerized, scheduled pipeline with tests, CI, object storage, and a tile server.
  • Write a results note a non-specialist PM can act on.

Target companies (2026)

Wildfire: Overstory, Pano AI, Earth Fire Alliance / Muon Space, Vibrant Planet, Cornea, Technosylva, utilities' wildfire-risk teams (PG&E, SCE).
Forestry / carbon: Pachama, Sylvera, Chloris Geospatial, CTrees, Planet (Forest Carbon), Kayrros, Space Intelligence.
SAR: ICEYE, Capella, Umbra, EarthDaily (ex-Descartes Labs), NASA JPL (OPERA/NISAR), ASF, DLR, Privateer.
Platforms: Google (Earth Engine/AlphaEarth), Microsoft Planetary Computer Pro, Development Seed, Element 84, Floodbase.

Watch: Geospatial Jobs newsletter · Pangeo jobs · spacecrew

Interview question bank

  • Why does a burned forest get darker in VH but sometimes brighter in VV? What about on steep terrain?
  • A dNBR map shows severe burn in a lake. Walk me through the failure.
  • Your random-split accuracy is 94%, spatial-block is 81%. Which do you report and why?
  • When would you choose C-band over L-band for deforestation alerts? What does NISAR change?
  • How would you estimate uncertainty on a biomass map at the project scale for an MRV audit?
  • Design an NRT burned-area service: latency budget, data sources, fallbacks when S2 is cloudy for 3 weeks.
  • A GeoFM fine-tune underperforms your U-Net. What are the five most likely reasons?
  • Given a COG on S3, how do you read one 512×512 window without downloading the file?
  • How do you handle ascending vs descending S1 orbits in a time series? Why not mix them?
  • Explain coherence to a product manager in three sentences.

Core reading shelf

  • Moreira et al., A Tutorial on SAR (IEEE GRSM 2013), free.
  • SERVIR/NASA SAR Handbook, free.
  • Chuvieco, Fundamentals of Satellite Remote Sensing (3e) or Richards, Remote Sensing Digital Image Analysis (6e).
  • Rey, Arribas-Bel, Wolf, Geographic Data Science with Python, free online.
  • Olofsson et al. 2014, good-practice accuracy assessment, free PDF.
  • Camps-Valls et al., Deep Learning for the Earth Sciences (2021).
  • Prithvi-EO-2.0, Clay, TerraMind, AlphaEarth papers; TorchGeo paper (Stewart et al.).
WeekPhasePortfolio threadPublic output
01–03FoundationsA: burn severity (index baseline) · SAR prepNote: C-band after fire
04–06Core analyticsB: forest structure & carbon loss · SAR change detectorsWrite-up #1: S1 burned area
07–09Deep learningA: learned model · C: GeoFM benchmark · NISAR noteWrite-up #2: U-Net vs GeoFMs
10–12ProductionD: firewatch NRT service, deployedWrite-up #3 · portfolio · applications