Skip to content
View floew2's full-sized avatar

Block or report floew2

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
floew2/README.md

Geospatial Data Scientist

Building (geo-)data pipelines and geoprocessing workflows β€” from ETL automation and data modeling to satellite-based damage assessment (caused by natural disasters or conflict) and environmental monitoring to tackle environmental crimes via satellite images. Combining 12+ years of hands-on geospatial expertise with modern ML engineering practices to solve real-world problems across agriculture, development cooperation, civil protection, and geointelligence applications.


πŸ› οΈ Tech Stack

ML & Data Science
Python PyTorch TensorFlow scikit-learn Keras
MLOps & DevOps
Docker MLflow BentoML DVC GitHub Actions ONNX Evidently
Geospatial & Remote Sensing
QGIS ArcGIS Pro FME FME Flow Google Earth Engine GeoPandas GDAL
Cloud & Visualization
Kubernetes Streamlit Plotly JavaScript R

πŸ”¬ Recent Projects

How hard did the 2026 summer drought hit grassland in the Canton of St. Gallen? A reproducible Sentinel-2 pipeline, run from Python on Google Earth Engine, that measures grassland condition and mowing field by field in three landscapes, against a 2019–2025 baseline and MeteoSwiss station data.

Key Features:

  • Pixel purity modelled from the Sentinel-2 point-spread function, so small, edge-dominated meadows are measured without mixed-pixel contamination
  • Result: the meadows' moisture index (NDMI) fell 23–29 % below normal, the lowest of eight years at both valley sites
  • Mowing detector validated like a model: rules frozen after tuning, then scored on 136 hand-labelled field-years including a hold-out (F1 0.87), with its drought-year failure diagnosed
  • Runs end to end on calibrated synthetic data; provenance checks refuse stale results; CI with tests

Tech Stack: Python β€’ Google Earth Engine β€’ Sentinel-2 β€’ GeoPandas β€’ rasterio β€’ NumPy β€’ pandas β€’ SciPy β€’ pytest β€’ GitHub Actions

🏚️ Building Damage Classification

🚧 Under active development · repository not yet public

End-to-end MLOps pipeline for automated building damage assessment from satellite imagery using YOLO26 / RT-DETR. Full ML lifecycle from data versioning to production deployment.

Key Features:

  • FastAPI microservices architecture with JWT authentication, being prepared for Kubernetes deployment
  • Automated CI/CD with model promotion logic
  • Real-time monitoring and drift detection
  • Production-ready API serving

Tech Stack: YOLO26 β€’ RT-DETR β€’ PyTorch β€’ DVC β€’ MLflow β€’ GitHub Actions β€’ FastAPI β€’ Docker β€’ Prometheus β€’ Grafana β€’ Evidently

🚧 Under active development.

Routed retrieval-augmented generation (RAG) system over the UCDP Georeferenced Event Dataset. Combines semantic search with deterministic aggregation on a fully local LLM stack β€” no data leaves the machine, and every answer stays traceable to the source events behind it.

Key Features:

  • Hybrid BM25 + dense retrieval (BGE-large-en-v1.5) fused via reciprocal rank fusion, with multi-query expansion and BGE reranker
  • Four-path query router separating semantic retrieval, deterministic aggregation, and out-of-scope refusal
  • Source-bias surfacing and geospatial visualization of results
  • Non-circular evaluation harness: method-independent gold set via 5-arm pooling, multi-event held-out recall benchmark, nDCG/MAP/MRR
  • 214 unit tests with CI; Docker setup for reproducible local runs

Tech Stack: Python β€’ ChromaDB β€’ BM25Okapi β€’ BGE-large-en-v1.5 β€’ Mistral 7B via Ollama (local) β€’ Streamlit β€’ Docker

πŸ›°οΈ Multi-temporal Oil Spill Detection

🚧 Under active development · repository not yet public

Machine learning system for detecting terrestrial oil spills using multi-temporal Sentinel-2 imagery. Handles extreme class imbalance and spectral confusion through temporal change detection.

Key Features:

  • Multi-temporal baseline composites for change detection
  • Custom augmentation for extreme data scarcity (only few ground validated reference events)
  • MLOps pipeline from data ingestion to containerized model serving

Tech Stack: PyTorch β€’ U-Net β€’ Prithvi-EO-2.0 β€’ Clay β€’ Sentinel-2 β€’ DVC β€’ MLflow β€’ BentoML β€’ Docker β€’ Microsoft Planetary Computer

A hands-on best-practice guide for annotating satellite and aerial imagery for object detection, paired with a curated collection of publicly available, high-quality annotated remote sensing datasets.

Key Features:

  • Annotation best-practice guide: bounding boxes & OBB, model-assisted labeling (SAM 2/3), GIS-based tiling workflows, occlusion & labeling conventions, quality assurance, and spatially blocked data splits β€” backed by references to current literature
  • Overview and categorization of datasets by application (building footprint extraction, road segmentation, ship detection)
  • Direct links to data sources and relevant academic papers, with clear inclusion criteria focusing on data quality, documentation, and accessibility

πŸ’Ό Professional Background

  • Current Focus: Deep Learning & Remote Sensing, GIS & Data Science Specialist
  • Previous: Remote Sensing & ML Specialist (10+ years)
  • Education: PhD in Environmental Remote Sensing & Machine Learning
  • Research: 10+ peer-reviewed publications in GIScience & Remote Sensing, Environmental Management, and Applied Remote Sensing

Pinned Loading

  1. remotesensing-annotation-datasets remotesensing-annotation-datasets Public

    A curated catalog of annotated remote sensing datasets for deep learning, plus a best-practice guide for annotating aerial and satellite imagery.

    1