GIS · Remote sensing · Machine learning · GeoAI
M.S. Geography student at Texas A&M University · Bryan, TX
I turn satellite, aerial and drone imagery into maps and numbers people can trust: every project here reports how accurate it is, with spatial cross-validation, confidence intervals and an independent check of its own results. My research is drone hyperspectral remote sensing of tropical forests and human-modified landscapes. Open to GIS and remote sensing internships for summer 2027.
All built from public data, with code, tests and write-ups, and with an AI coding assistant (Claude Code); each repository says so. Click a picture for the repository.
![]() Open Earth MCP server Gives AI assistants traceable access to Sentinel-2 NDVI, ESA WorldCover and Copernicus DEM, with a tool that verifies its own answers. Listed on Glama. Python · MCP · STAC |
![]() Agentic site selection Agents call ArcPy tools through an MCP server to rank Houston hexes for a coffee shop; expert overlay vs Esri embeddings on held-out shops (AUC 0.71 vs 0.74). Map ArcPy · agents · embeddings |
![]() Segment Anything on aerial imagery Text-prompted SAM on NAIP: building F1 0.69 (95% CI 0.62–0.74) on a held-out area vs 0.50 for a spectral baseline. PyTorch · SAM · Grounding DINO |
![]() Land cover with honest accuracy Sentinel-2 random forest: random CV said 0.89, spatial blocks said 0.83. Olofsson area-adjusted estimates with 95% intervals. scikit-learn · Sentinel-2 · spatial CV |
![]() Houston heat hot spots Landsat surface temperature for 1,111 tracts: Gi* and LISA hot spots, spatial error model (+0.1 NDVI ≈ 1.9 °C cooler). Map PySAL · Landsat · spatial regression |
![]() COVID-19 in Texas, 2020–2023 Smoothed county rates, Gi* by wave and emerging hot spots: 174 of 253 counties were hot at some point. Map Space-time analysis · MapLibre |
![]() How fast can a fire engine reach you? Drive-time coverage from 25 Brazos County stations (82% of residents within 4 min) and optimal new sites (MCLP, p-median). Map OSMnx · PuLP · network analysis |
![]() Critical facilities in flood zones Spatial SQL screen of 2,860 Gulf Coast facilities against FEMA flood zones: 250 inside, incl. 13 hospitals. Map DuckDB · spatial SQL · FEMA NFHL |
![]() Accuracy Assessment Toolbox for ArcGIS Pro Python toolbox for stratified sampling and area-adjusted accuracy; reproduces Olofsson et al.'s worked example. ArcPy · Python toolbox |
More: foundation-model similarity search (SSL4EO embeddings over 7,974 Sentinel-2 chips) · College Station daylight (NOAA solar equations)
GIS: ArcGIS Pro, ArcPy, ArcGIS Online, StoryMaps, QGIS, spatial SQL (SQL Server, DuckDB)
Remote sensing: Sentinel-2, Landsat, NAIP, hyperspectral (ENVI), Google Earth Engine, STAC
Machine learning and GeoAI: scikit-learn, PyTorch, TorchGeo, Segment Anything, embeddings, MCP servers and tool-using agents
Spatial statistics: PySAL (Gi*, Moran's I, LISA, spatial regression), space-time hot spots
Programming: Python (GeoPandas, rasterio, xarray, GDAL), SQL, R, JavaScript
- Graduate researcher: calibrating drone hyperspectral imagery to reflectance for tree-species mapping
- Teaching assistant for Geodatabases (three lab sections, 62 students)
- Esri Spatial Data Science MOOC and FAA Part 107 remote pilot test, fall 2026








