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.

chat1 / 6
userShow me well-rated cafes in Berlin Mitte.

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.

Scripted, not live. Click next β†’ to step through the dialogue. Each agent message that has location output also re-frames the map and drops the relevant markers / route.

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:

  1. Classifies intent via the LLM (search? routing? traffic?).
  2. Dispatches one or more of 30+ pre-built tools.
  3. Manages map state (markers, layers, fit-to-bounds, route polylines).
  4. 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.

links

← all projects