LOCATR: Agentic Spatial Intelligence

https://locatrai.vercel.app/

(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

Share this project:

Updates