LOCATR: Agentic Spatial Intelligence
(300 hackers) https://themedium.ca/deerhacks-celebrates-its-fifth-anniversary-and-marks-utms-largest-event-this-year
The Vision
Most navigation apps answer "where," but they fail to answer "how." Planning a group activity involves invisible variables: the architectural vibe, cost-to-value realism, and real-time urban risks. LOCATR is an agentic, graph-orchestrated system that turns these qualitative factors into quantitative data to find the perfect venue for any group.
How It Works: The Multi-Agent Pipeline
LOCATR is built on a stateful LangGraph workflow that manages a six-node agentic pipeline.
The Commander: Parses natural language intent (e.g., "Cyberpunk study spot") and pulls Auth0 user profiles to dynamically weight the importance of vibe vs. cost.
The Scout: Concurrently aggregates data from Google Places and Yelp Fusion, deduplicating venues using Haversine distance logic.
Parallel Analysts: We use asyncio to run three specialized agents simultaneously:
Vibe Matcher: Uses Gemini 2.5 Flash (Multimodal) to analyze venue photos against a 52-dimension aesthetic vector space.
Cost Analyst: Normalizes pricing signals into a unified value score.
The Critic: An adversarial node that cross-references OpenWeather, PredictHQ, and Snowflake historical risk ledgers to find dealbreakers.
The Synthesiser: Compiles all agent signals into a final ranked list with human-readable "Why" and "Watch Out" explanations.
Isochrone Mapping: The frontend renders travel-time isochrone layers on Mapbox, letting users visually filter venues by how long it takes to get there, not just how far away they are.
Persistence & Memory with Snowflake
LOCATR doesn't just "chat"; it remembers. We use Snowflake to power two critical features:
Aesthetic DNA Ledger: We store 50-dimension embeddings in CAFE_VIBE_VECTORS to generate real-time "Vibe Heatmaps" across the city.
Historical Risk Ledger: By storing past venue failures (floods, security alerts) in VENUE_RISK_EVENTS, our Scout can inject ground-truth context into the Critic, preventing LLM hallucinations.
Closing the Loop: Auth0 CIBA & Actions
LOCATR moves from planning to execution using Auth0 CIBA (Client Initiated Backchannel Authentication).
When a booking is required, the system triggers a push notification to the user's mobile device.
Upon approval, the system extracts the user's OAuth2 token from the Auth0 Token Vault to securely dispatch emails via the native Gmail API.
The Stack
AI: Gemini 2.5 Flash (Multimodal), Gemini 1.5 Flash
Backend: Python, LangGraph, FastAPI, Snowflake
Frontend: Next.js 14, Mapbox GL JS
Infrastructure: Auth0 (CIBA, Management API, Token Vault), Docker, Vultr
🏆 Accomplishments we're proud of
Vectorizing the Intangible: We successfully built a 52-dimensional "Aesthetic DNA" classifier using multimodal LLMs. This allows LOCATR to understand subjective human descriptors (like "Cottagecore" or "Cyberpunk") with the same mathematical precision as a coordinate or a price tag.
Parallel Execution at Scale: By implementing an asynchronous fan-out architecture in LangGraph, we slashed our pipeline latency. Running the Vibe, Cost, and Critic agents concurrently via asyncio reduced our total response time from ~9 seconds to under 3 seconds.
Human-in-the-Loop Security: Successfully integrating Auth0 CIBA with the Auth0 Token Vault was a massive win. We created a flow where an AI agent can execute real-world actions (like sending emails) only after a secure, out-of-band mobile approval from the user.
What we learned
State Management is Everything: Building a multi-agent system isn't just about the LLM; it's about the "State." We learned how to use LangGraph to maintain a single source of truth, ensuring that if the Critic discovered a critical safety risk, that information was propagated instantly to the Synthesiser to override the ranking.
RAG Beyond Vector Search: We discovered that "Retrieval" isn't just for documents. By retrieving historical risk events from Snowflake and injecting them into our agent prompts, we proved that we could ground AI reasoning in hard, structured data to eliminate hallucinations.
The Power of Multimodal UX: We realized that users trust an AI more when they can see its "thought process." Streaming the live agent logs via WebSockets turned a "black box" wait time into an engaging, transparent experience.
Built With
- auth0
- docker
- fastapi
- gemini-api
- google-places
- langchain
- langgraph
- mapbox
- next.js
- node.js
- openweather
- predicthq
- python
- react
- snowflake
- sql
- websockets
- yelp

Log in or sign up for Devpost to join the conversation.