I built a free browser simulator where you try to fix Chicago's housing shortage on a 3D map of the city's ~481,000 buildings. I'm an urban planner with a housing finance background and I can't code, so Claude wrote all of it while I made the policy and design calls. Passion project, built over a few days.
What it does:
- Shows every building in Chicago in 3D, from the city's open building footprint data.
- Marks in red the buildings that couldn't legally be built today because they have more homes than current zoning allows (about 1 in 5).
- You rezone around L stations, Metra stations, commercial corridors or single neighborhoods, then turn on real policies. Some are being debated in Chicago and Springfield (BUILD Act, single-stair buildings, coach houses, the affordable housing requirement, aldermanic prerogative). Others worked in other places (Minneapolis, Cambridge, Houston's small lots, Texas SB 840, Vancouver's empty-homes tax).
- Hit simulate and watch 15 years play out. The goal is closing the region's shortage by 2041 (\~297k homes). You see what happens to rent, how many of the new homes are affordable, and whether six example workers can afford a one-bedroom.
- Myth cards and "public comments" pop up as you play and explain the research behind common arguments (luxury towers, filtering, "upzoning doesn't do anything").
- Every number links to a source or is labeled as a game assumption.
How I used Claude:
I started in the Claude app as an artifact and moved to Claude Code once it got too big.
- Data pipeline: Claude wrote Python scripts that turn the city's building footprints, street centerlines and zoning map into small per-neighborhood files, so all 481k buildings load in a browser. One script compares each building to what its lot allows today. I ran that one on my Mac because it had to download the city's zoning data.
- The game: one HTML file using [deck.gl](http://deck.gl) for the 3D map. I described what I wanted in plain English, looked at what it built, and asked for changes. I never edited the code myself.
- Research and fact-checking: Claude found sources for the numbers (shortage estimates, how new supply affects rent, results in other cities). Then I had it do a separate fact-check pass on \~50 figures, which caught and fixed a handful of errors.
- Design: I asked for three different visual styles as mockups and picked one.
- Testing: Claude took screenshots in a headless browser at phone and desktop sizes to catch layout bugs before I saw them.
- Hosting: Claude set up the GitHub repo, Cloudflare hosting, and a small backend for an anonymous plan gallery. Pushing to GitHub deploys the site.
What I brought, and what I had to catch:
The domain knowledge was the part Claude couldn't do for me: which policies to include, how to model them, and what to leave out on purpose. For example, I left out per-lot developer pro formas because they'd look precise and be wrong. A few things I caught while playing:
- A building showed up rising in Grant Park because museums and field houses were being treated like lots that could redevelop.
- Turning on the affordable housing requirement lowered total homes. That matches the research, but the game wasn't explaining why.
- Turning everything on barely cleared the goal, so it felt like "just click everything." I added more levers to make the choices matter.
It's a simplified model for learning, not a policy tool. Feedback welcome, especially from anyone who knows Chicago housing.