Inspiration

We were inspired by how all sorts of different industries leverage geospatial data. Hedge funds may analyze how many ships are in the Suez Canal while environmentalists may want to inspect deforestation in the Amazon over the years.

Historically, geospatial analysis has been locked behind years of study and specialization, we aimed to democratize this to a simple interface.

What it does

We made any geospatial query answerable through our agent. GeoSpace allows users to input natural language constraints: tracking crop yields, monitoring supply chain bottlenecks, or verifying ESG compliance. It autonomously spins up a data pipeline to geocode targets, fetch multi-spectral satellite imagery, and output structured, actionable intelligence on demand.

How we built it

Instead of building a brittle, linear script, we engineered a dynamic, multi-agent swarm architecture.

  • The Manager Agent: Parses the user's natural language query, geocodes the location, and determines the necessary spatial resolution (e.g., recognizing that counting ships requires 10m Sentinel-2 data, while broad vegetation health can use 250m MODIS data).

  • The Data Pipeline: The agent dynamically formats API requests to Google Earth Engine and the Google Maps Static API, pulling specific multi-spectral bands (like Near-Infrared and Red for NDVI calculations).

  • The Vision/Analytics Layer: Once the raster data is successfully acquired, a multimodal LLM acts as the analytical engine to interpret the pixels, calculate mathematical deltas between time periods, and synthesize a final intelligence report.

Accomplishments that we're proud of

We are most proud of the system’s recovery behavior. Instead of failing on the first bad scene, GeoSpace can validate imagery, retry with broader date windows, switch sensors, re-plan after better location resolution, and keep the analysis moving. We also implemented quantitative change comparison between two time periods, using pixel-difference and greenness-shift metrics so the final report is grounded in measured image change rather than visual intuition alone.

What's next for GeoSpace

We want to turn GeoSpace into a more production-ready monitoring layer. The next step is improving location resolution with a dedicated geocoding service, adding more domain-specific metrics on top of the imagery pipeline, and deepening our use of the SAR path for cloud-heavy regions and all-weather monitoring. We also want webhook and API integrations so researchers and analysts can trigger recurring geospatial checks and push the resulting signals directly into their downstream workflows.

Challenges we ran into

The biggest hurdle was the "Null Data" hallucination trap. In early iterations, if an API call returned a corrupted image or optical data completely obscured by cloud cover (often just a black background with a few green pixels), the vision model would confidently hallucinate geographic features like identifying a "narrow river channel" out of pure noise.

We also battled strict API constraints, such as Earth Engine throwing 403 Forbidden, Invalid Date, or missing band errors. To solve this, we couldn't hardcode fallbacks. We had to build a robust validation and error-handling harness that allowed the agent to read stack traces, autonomously rewrite its own tool parameters, and gracefully pivot to fallback data sources without the pipeline crashing.

Accomplishments that we're proud of

We are incredibly proud of the agent's autonomous self-correction capabilities. Building a state machine that doesn't just fail on a bad API call, but actually iterates and fixes its own syntax on the fly, was a massive technical win. We also successfully implemented mathematical change-detection; rather than just looking at a single image, GeoSpace can pull historical data (e.g., the Congo vs. Saudi Arabia) and accurately compute the vegetation density delta across different environments.

What we learned

We learned that in complex data extraction pipelines, a smaller model restricted by a flawless, deterministic harness consistently beats a massive model running open-ended. We also gained a deep, hands-on understanding of geospatial engineering and learned how to manipulate multi-spectral bands, handle raster math, and abstract the sheer complexity of Earth Engine behind a clean, conversational interface.

What's next for GeoSpace

We want to deploy GeoSpace as a persistent infrastructure layer. The next technical step is integrating SAR (Synthetic Aperture Radar) data to pierce through cloud cover, ensuring true 24/7 monitoring capabilities. Ultimately, we envision building out webhook integrations so quantitative researchers and supply chain analysts can pipe our automated signals directly into their models the second a new satellite passes overhead.

Built With

  • custom-agentic-harness
  • gee
  • geocoding-api
  • google-earth-engine
  • google-maps-static-api
  • hugging-face-inference-api
  • multimodal-llms
  • python
  • three.js
  • vlms
Share this project:

Updates