Inspiration

This started with a question about how small planning choices can lead to very different outcomes for a city.

Shiwani has a university course called Introduction to City, where her instructor teaches urban planning and how these choices can affect the larger system. We started wondering what it would look like if AI could help a planner explore those choices and their consequences.

We also worked on Build What, Move India by Varun Mayya, powered by OpenAI, where we explored bringing maps and Records of Rights together. That gave us some experience with combining spatial information and structured records.

What it does

Urban Planning Copilot is a map-first workspace for exploring urban planning scenarios.

For our current case, we use housing in San Francisco. Housing supply and affordability are significant concerns for the city, and its Housing Element targets 82,000 new homes between 2023 and 2031.

In the current study, the planner sets a goal of 2,000 homes in Mission and SoMa. The system evaluates potential sites using factors such as transit access, flood risk, parks, schools, zoning, and capacity.

The current analysis finds capacity for about 1,098 homes, so the shortfall is visible.

The planner can then:

  • Explore and inspect candidate sites.
  • Change constraints and rerun the analysis.
  • Shortlist sites directly on the shared map.
  • Create and compare different scenarios.

Why WebMCP matters

We wanted the AI to work inside the planning workspace, not just describe what is on the screen.

Through WebMCP, the AI can:

  • Run the analysis and inspect candidates.
  • Change planning constraints.
  • Move the shared map to relevant sites.
  • Add candidates to the shortlist.
  • Create and compare scenario branches.
  • Prepare a decision for planner approval.

These are planning actions rather than browser actions. The AI works with the same application state as the planner, so when it changes something, the planner sees that change in the workspace too.

For consequential actions, the AI prepares the change and the planner approves or rejects it.

How we built it

We built a shared planning model around projects, scenarios, analysis results, candidates, decisions, and provenance.

The spatial analysis uses San Francisco geographic datasets covering parcels, transit, flood areas, parks, and schools. Candidate scoring and capacity calculations are deterministic, while AI suggestions are kept separate from the underlying calculations.

The application and WebMCP tools use the same underlying services and state. We also track provenance so it is clear whether something came from source data, a calculation, an AI suggestion, or a planner decision.

What we learned

Building this changed how we think about the role of AI in planning.

AI can investigate, calculate, compare, and prepare options. The planner still brings the context and judgment needed to decide between them.

We also found that WebMCP is most useful when its tools represent meaningful actions in the user's workflow, rather than low-level interactions with a website.

What's next

We want to take the planning side further, but first we want to make sure we are solving the right problems.

We are not urban planning domain experts, so the next step is to work with SMEs and practitioners to validate our assumptions, constraints, workflows, and outputs. We'd especially like to learn from people who teach and practice urban planning, including potentially Shiwani's instructor.

From there, we want to improve the current workflow, add more real datasets and geographies, and explore planning decisions beyond the current housing use case.

Learn more

Project write-up: https://medium.com/@saurabhgupta0342/building-urban-planning-copilot-how-we-used-webmcp-to-create-a-human-ai-planning-workspace-a135ffbb44fc

Build updates: https://x.com/saurabh42690/status/2095672298783293528

Built With

Share this project:

Updates

Submission history