Inspiration

Canada faces a major housing shortage while development approvals remain among the slowest in North America. The country is estimated to need around six million new homes by 2030, yet the systems that govern urban development are slow, complex, and largely inaccessible to the public. Most citizens have little visibility into how planning decisions are made or how potential developments might affect their neighbourhoods.

CityLens was built to bridge that gap. The goal is to give both planners and everyday citizens the ability to visualize, analyze, and experiment with urban development ideas directly on a city map using real data.


What it does

CityLens is an AI-powered geo-modeling platform that analyzes parcels of land across a city and evaluates their readiness for development using spatial and municipal data.

The platform processes multiple datasets to generate spatial features such as zoning, surrounding density, transit proximity, and infrastructure indicators. These features are normalized, weighted, and scored through machine learning to identify parcels that are strong candidates for development. See it live in the video demo above.

Users can also interact with the system through natural language queries. For example, a user can ask what a neighbourhood redesign might look like near a specific intersection (again, see video). CityLens will identify suitable parcels, simulate the structure on top of an existing 3D city map, and estimate impacts such as potential housing units, revenue generation, and transit effects.

Additional features include:

  • Protection checks for religious and heritage sites
  • Integration of city planning priorities into the AI model
  • Automatically scraped municipal councillor information for civic engagement

The result is an interactive platform that helps people explore how cities could evolve.


How we built it

CityLens combines geospatial analysis, machine learning, and AI-assisted interaction.

The backend is built with FastAPI and processes large geospatial datasets using GeoPandas. Spatial features are generated for each parcel and fed into a machine learning pipeline. Parcels are then scored and clustered using a K-Means model based on nine key spatial features related to development viability.

On the frontend, Mapbox powers the interactive 3D map visualization that allows users to explore parcels and view simulated structures in context with the surrounding city.

We integrated Gemini for query interpretation and generation tasks, while ElevenLabs handles voice synthesis so that users can say their prompt out-loud and receive an auditory response.

Because the datasets used are standardized open municipal datasets, the system architecture allows CityLens to scale easily across different Canadian cities.


Challenges we ran into

One of the largest challenges was working with geospatial data at scale. City parcel datasets contain thousands of records and many overlapping layers, which required careful preprocessing and optimization to make real-time analysis feasible.

Secondly, generating and visualizing simulated structures on a live 3D map while maintaining connection to the backend + keeping good performance required mathematical optimization with computational efficiency.


Accomplishments that we're proud of

We successfully built a working system that can analyze all 17000+ parcels in Waterloo and identify development-ready areas using machine learning.

We also implemented natural language interaction through text + ElevenLabs integration that allows users to request development scenarios and instantly visualize them within a 3D map environment.

Most importantly, we demonstrated the ability to simulate real development proposals and calculate potential impacts such as housing capacity and revenue in seconds.


What we learned

Building CityLens reinforced how powerful open municipal data can be when combined with geospatial analysis and machine learning.

We also learned how important usability and visualization are when dealing with complex urban planning information. Presenting data in an interactive map format makes insights far more accessible than static reports or spreadsheets.

Finally, we gained experience integrating AI systems with spatial modeling pipelines to enable more intuitive user interaction.


What's next for CityLens

The next step is scaling CityLens across multiple Canadian cities. Because the datasets we use follow standardized formats, the platform can extend to cities like Toronto, Ottawa, and Vancouver with minimal adjustments.

We also plan to train stronger predictive models using larger datasets from additional municipalities, improving the accuracy of development readiness predictions.

In the long term, the goal is to deploy CityLens within municipal planning departments while also providing a public-facing platform that allows citizens to visualize and engage with the future of their cities.

Built With

Share this project:

Updates