Inspiration

Transit planning is still too slow and too opaque for most people. We wanted a tool where you can draw an idea, immediately see who it serves, and debate tradeoffs in the open with real city data.

What it does

  • Visualize existing TTC lines and stops in a 3D-enabled Mapbox map.
  • Draw planning boundaries or directly select neighbourhoods/stations as constraints.
  • View live population density and traffic overlays
  • Open neighbourhood insight cards with computed population, traffic level, and Street View context.
  • Create custom lines, add/move/delete stops, add transfers between lines, and undo edits.

Tech Stack

Frontend: Next.js + React + TypeScript / Mapping: Mapbox GL + Mapbox Draw / 3D Landing Page: Three.js + React Three Fiber / Backend APIs: Next.js API routes, Backboard.io / Data: PostgreSQL + PostGIS + Supabase / Google Street View API

Challenges we ran into

  • Integrating multiple geospatial layers (routes, neighbourhood polygons, traffic, population) with smooth interactivity.
  • Keeping map performance high while supporting live editing, drag-to-reposition stops, and dynamic source/layer updates.
  • Designing reliable SSE streaming for multi-agent AI output and synchronized map previews.
  • Turning complex PostGIS query results into concise context the AI could reason over.
  • Balancing technical planning metrics with understandable UX for non-experts.

Accomplishments that we're proud of

  • A full transit design interface where users can draw and modify subway lines directly on a live city map
  • Real time overlays of population density and traffic data to support planning decisions
  • A clean and responsive geospatial interface built on a modern full stack architecture

What we learned

  • Geospatial UX quality depends as much on data modeling and query strategy as frontend polish.
  • Streaming architecture (SSE + incremental UI state) is critical for trust in AI-assisted planning tools.
  • Planning tools need both metrics and narrative: users want numbers, but also understandable rationale and tradeoff framing.

What's next for Transit Planner

  • Expand planning to streetcars, buses and non-subway lines
  • Simulating ridership demand and travel time improvements
  • Allowing communities to propose and vote on transit ideas
  • Adding additional city datasets such as housing growth and employment hubs

Built With

  • next.js
  • supabase
Share this project:

Updates