From a question to a spatial result
A question about a place only becomes useful when the answer refers to the right location. In Mappy, users select a parcel or find a place, ask a question and see the result on the map with its sources.
I co-built the product with my hackathon team. It combines a React and MapLibre interface with a TypeScript/Fastify backend, AI tool calling and deterministic spatial calculations.
Keeping the agent grounded
The difficult part was keeping the model's tool calls aligned with the map as the conversation moved between places. The application tracks selected parcels and verified locations, validates tool arguments and rejects coordinates that do not come from the current context or earlier results.
Spatial calculations produce map geometry, measurements and source records. The map receives the full geometry, while the model receives a smaller result with the evidence needed to explain it. Tool status, map results and answer text stream through separate events, so the interface can show work as it happens.
Working with incomplete public data
Analyses use the canonical parcel geometry rather than treating a clicked point as the whole site. Results bring together metrics, map layers, source links and retrieval dates. The application distinguishes unavailable data from an analysis that found no matching objects.
The prototype includes a catalogue of 36 analysis topics, but availability depends on the public sources behind each one. The workflow keeps source failures and partial results visible alongside successful analyses.
The result
Mappy was our HackYeah 2026 project, where I reached the final with the team. The strongest part of the work was connecting a conversational interface to spatial evidence that users could inspect on a map.
About HackYeah