project Β· 2025-2026
TomTom Maps SDK Agent Toolkit
Headless plugin giving any Vercel-AI-SDK-compatible LLM (Anthropic, OpenAI, Azure, Google) conversational control over a TomTom map. Contributed to design and implementation.
A headless plugin for the TomTom Maps SDK for JavaScript that gives any Vercel AI SDK-compatible LLM (Anthropic Claude, OpenAI GPT, Azure OpenAI, Google Gemini) conversational control over a map. Contributed to design and implementation.
See it work (scripted demo)
Click next β to step through a hardcoded conversation. The agent picks tools (search, route, traffic) based on intent, and the map updates as each tool returns. Real plugin uses the same interaction model with a live LLM behind it.
Demo basemap: open-source CartoDB / OpenStreetMap tiles, no API key required. Production TomTom systems run on TomTom's own vector maps; tiles are swapped here so the public portfolio stays key-free.
What it solves
Putting a chat box on a map is easy. Wiring an LLM to actually control the map, search for places, drop pins, draw routes, change zoom, query traffic, manage the places moduleβs render state, is a hundred small integration headaches. The Agent Toolkit collapses all of that into a single drop-in plugin.
How it works
Developer code stays minimal:
const agent = mapsAgent({ map, llm: anthropic('claude-sonnet-4-5') });await agent.process('show me cafes in Berlin Mitte and route from there to my office');Behind the scenes the plugin:
- Classifies intent via the LLM (search? routing? traffic?).
- Dispatches one or more of 30+ pre-built tools.
- Manages map state (markers, layers, fit-to-bounds, route polylines).
- Returns a coherent response and renders results without dev intervention.
Why this matters
The toolkit is provider-agnostic, it speaks the Vercel AI SDKβs tool interface, so swapping Claude for GPT for an open-source model is a one-line change. Thatβs a hedge against single-vendor lock-in baked into the SDK itself, which is the right default for any agentic toolkit shipped today.