Compare candidate store locations with drive time trade areas

By General Input

Open one place to see every candidate site mapped with 5, 10 and 15 minute drive time areas, competitor counts, and a site brief you can defend.

Integrations

  • Mapbox
  • Notion

Type

App

Categories

  • Operations
  • Marketing

Build me a trade area explorer I open when we are picking our next location, so site decisions stop living in a pile of screenshots.

The app reads our candidate sites from a Notion database using Query a Data Source. Each row is one candidate site with a name, a street address, and whatever status and notes we keep alongside it. Geocode each address with Mapbox Forward Geocode (v6) to get coordinates, and hold onto those coordinates so the same address is not geocoded again on every visit. Mapbox takes coordinates as longitude first, then latitude.

The main view is one map card per candidate site. For each site, call Get Isochrone to draw 5, 10 and 15 minute catchments around its coordinates, rendered as nested bands so the shape of the reach is obvious at a glance. Expose the travel profile as a setting with driving, walking and cycling options, because a walk-in catchment is a different question than a drive-in one, and let me edit the contour minutes.

Selecting a site opens its detail view. There, count what sits inside the catchment using Search Box Category across a configurable list of categories. Use canonical Mapbox category names such as restaurant, coffee, gym and grocery. Every configured category is tagged as either a competitor or a traffic driver, and I can edit both the list and the tagging in a settings view so the app fits our business type. From those counts, render a scorecard showing drive time reach, competitor density and complement density, and show a Get Static Map Image card beside it as a shareable snapshot of the site.

A compare view puts up to three candidate sites side by side on the exact same scorecard, with the same categories and the same contour settings applied to each, so I can argue for one of them with numbers instead of impressions.

Each site detail view has a Research this site button that starts a background agent. The agent takes that site's isochrone and its category counts, including the names of the competitors found inside the catchment, researches the neighbourhood and those named competitors on the web, and writes a site brief that ends in a clear recommendation. It saves the brief to the same Notion database with Create a Page, tied to the candidate site it covers, and the app shows the finished brief in the site detail view next to the map. While the agent is running, mark that site as researching, and show the brief when it lands without me having to reload the page.

Two things worth baking in: Search Box Category is billed per request and needs no session token, so counting inside a catchment is cheap and can run for every configured category. Ship a short, sensible default category list rather than an empty one, and make it visually obvious which counts feed the competitor side of the score and which feed the complement side.

Related prompts

Explore more prompts
Screen chartered vessels for AIS gaps and sanctions red flagsWork your sales territory from a map, not a CRM listMorning dispatch board for your local delivery runsBrowse every competitor ad and build a Notion swipe fileAudience persona studio for brand and product marketersArtwork desk for the Notion posts still missing an imageShare of voice dashboard for your brand and competitorsInfluencer campaign roster board with AI creator briefsSmart home entity health cockpit for Home AssistantOpen model approval desk for your production AI stack