Inspiration

We work for Apple Maps, so maps and geographic information systems are a big part of our daily work. For this hackathon, we wanted to explore the GIS domain from a different angle: helping people make complex location decisions with an AI agent.

Choosing where to live often means balancing several needs at once. You may want a short commute, groceries within walking distance, a nearby park, and easy access to healthcare or nearby school for your child. Most map products can answer these questions separately, but finding the areas where all the requirements overlap takes a lot of manual work.

That inspired us to build Sweet Spot.

What it does

Sweet Spot helps people find areas that match several travel and lifestyle needs.

A user can ask:

“Find an area within an 8-minute bike ride of San Francisco City Hall, a 5-minute walk of a supermarket, and a 4-minute walk of a park.”

Using WebMCP, ChatGPT can work directly with the Sweet Spot map. It can search for real places, add travel limits, combine conditions, rank different areas, explain trade-offs, update the plan, undo changes, and create a shareable result.

Some preferences are difficult to describe with words or forms. In those cases, the agent can pause and ask the user to draw an area directly on the map. The agent then continues its work using that boundary.

Sweet Spot also records whether each action came from the user or the agent, keeping the process visible and reversible.

How we built it

We built Sweet Spot as a client-side web application using React, TypeScript, MapLibre, Web Workers, H3 spatial indexing, and WebMCP.

The application uses real OpenStreetMap street and place data, along with official neighborhood data where available. Instead of drawing simple circles around a destination, Sweet Spot calculates reachable areas using the street network and different travel modes.

The product exposes 18 WebMCP tools. These tools use the same application logic as the visible interface, so every agent action immediately appears on the shared map.

The geographic calculations run on the user’s device. We use a Web Worker, spatial indexing, and reusable distance caches to keep the interface responsive.

Challenges we ran into

Our biggest challenge was running large geographic calculations inside the browser. Early versions were slow because they repeatedly searched the road network and recalculated the same distances. We improved this with H3-based lookups, bounded caches, and per-layer progress updates.

Location search was also harder than expected. Users often enter partial names, different spellings, or small typos. We added normalized, word-aware, typo-tolerant search with an online fallback.

We also learned that WebMCP tools need to support complete user goals, not merely copy individual button actions. We created an atomic planning tool for full requests while keeping smaller tools for later edits and conversation.

Accomplishments that we're proud of

We are proud that Sweet Spot is a complete product experience rather than a WebMCP demonstration added to a map.

It was good to see that ChatGPT could build a real geographic plan, update the visible interface, explain the results, and hand control to the user when human judgment is needed. The agent can pause in the middle of its task, ask the user to draw a personal boundary, wait for the response, and then continue calculating.

What we learned

The agent is good at turning a natural-language request into several structured operations and comparing many results. The user is better at expressing personal preferences, judging the map visually, and making the final decision.

WebMCP connects those strengths. The user no longer has to copy an AI recommendation into another product and rebuild the search manually. The agent can use the product’s real tools while the user watches, guides, and corrects the process.

What's next for Sweet Spot

Next, we want to support more cities and add public transit, live traffic, elevation, housing costs, accessibility needs, and other real-world factors.

We also want to improve collaborative planning so families, friends, or teams can contribute their own destinations and preferences to the same workspace.

Our larger goal is to make Sweet Spot useful for more than choosing where to live. The same approach could help people select an office, plan public services, compare business locations, or explore where community resources are most needed.

Also, we feel that these sort of tools should be available in Google and Apple Maps. It will be very helpful for users in real life.

Built With

  • codex
  • h3
  • mapslibre
  • mapstiler
  • react
  • webmcp
  • webworker
Share this project:

Updates

Submission history