Live at citypermits.vercel.app · Shipped product · End-to-end design
Overview
NYC runs on construction, but for anyone who is not a professional, understanding it means navigating tools built for bureaucratic workflows: DOB NOW, BIS, ACRIS, zoning maps. The data is public and theoretically belongs to everyone. In practice it is locked behind fragmented, technical systems.
City Permits turns that data into something a curious New Yorker can actually use. Search any address and see what is being built, who filed for it, and what stage the work is in. I designed and shipped it end to end: product definition, information architecture, interaction model, and the data UX that makes civic records legible without dumbing them down.
The problem
The existing tools answer the wrong question. They are built for deep professional research, so they surface everything and interpret nothing. A resident standing in front of new scaffolding has no fast way to learn what is going up, whether it is permitted, or what came before it on that lot. People fall back on neighborhood rumor and niche blogs.
The design challenge: make high-friction civic data feel fast to read, easy to browse, and credible enough to return to.
The solution
City Permits is map-first because people understand the city spatially, by block and corner, not by job-filing number. The map is the entry point. Tapping any parcel opens a detail card built around one question, "What is being built here," answered in plain language before any raw fields appear.
The card uses progressive disclosure: a clear summary first, then Expand Details for the underlying permit data, then full permit history and parcel context for anyone who wants the trail. The same structure serves a curious resident and a real estate watcher without forcing either into the other's experience.
Search any address to see what is being built.
The experience is responsive across mobile and desktop. On mobile, a thumb-reach layout with the parcel sheet sliding up over the map. On desktop and iPad, a split-pane where the map and the detail panel stay visible at once. The same data model drives both, the wider canvas just changes how much you see simultaneously.
When a parcel has no active permits, the app says so directly rather than spinning or showing partial results. Honest empty states protect trust, which for a civic data tool is the entire product.
The decision that mattered
I deliberately scoped monetization and pro tooling out of v1. Before adding any of that, the product had to prove three things: that people can understand it quickly, that they trust the data, and that they come back. Shipping a focused, credible MVP was worth more than a broad one nobody believed.
Reflection
City Permits is the first product in a body of independent civic work built on one idea: public data that shapes how people live should be legible to the people it describes. The hardest part was not the data. It was deciding what to leave out.


