Inspiration

Choosing where to live is one of the biggest decisions people make, and the information is scattered everywhere — one site for crime, another for schools, a third for air quality, a spreadsheet for cost of living. We wanted a single honest answer to "Should I move here?" — and one that changes depending on who is asking. A retiree and a college student can look at the same street and see two completely different places.

What it does

You pick who you're moving as — family, student, remote worker, or retiree — and choose a US state, city, and neighborhood. CityLens pulls live open data and scores the place on what matters to that person: safety, healthcare, cost of living, schools, air quality, getting around, everyday errands, green space, and quiet. It returns one 0–10 score, a plain-language verdict, and a breakdown of every criterion with the real numbers behind it. The criteria are personalized: a retiree never sees "schools"; a student never sees "healthcare".

How we built it

  • Next.js + TypeScript, deployed on Vercel.
  • Live neighborhood data from OpenStreetMap via the Overpass API — transit stops, schools, parks, clinics, shops, and nearby major roads/rail (a noise proxy). We race several Overpass mirrors so a slow one never blocks a search.
  • Air quality from Open-Meteo (US AQI, PM2.5).
  • Street-level crime from NYC Open Data (NYPD complaints).
  • Safety, healthcare, education, and cost of living at the state level from a curated index built on public rankings (FBI crime rates, US News, health- system rankings), blended with the live local data.
  • Address entry uses Photon and Nominatim for typeahead, so users can only pick real US places.
  • A Leaflet map (CARTO tiles) shows what surrounds the address.
  • The written verdict is generated by an LLM through OpenRouter, with a deterministic fallback so it always works.

Challenges we ran into

Inspiration

Choosing where to live is one of the biggest decisions people make, and the information is scattered everywhere — one site for crime, another for schools, a third for air quality, a spreadsheet for cost of living. We wanted a single honest answer to "Should I move here?" — and one that changes depending on who is asking. A retiree and a college student can look at the same street and see two completely different places.

What it does

You pick who you're moving as — family, student, remote worker, or retiree — and choose a US state, city, and neighborhood. CityLens pulls live open data and scores the place on what matters to that person: safety, healthcare, cost of living, schools, air quality, getting around, everyday errands, green space, and quiet. It returns one 0–10 score, a plain-language verdict, and a breakdown of every criterion with the real numbers behind it. The criteria are personalized: a retiree never sees "schools"; a student never sees "healthcare".

How we built it

  • Next.js + TypeScript, deployed on Vercel.
  • Live neighborhood data from OpenStreetMap via the Overpass API — transit stops, schools, parks, clinics, shops, and nearby major roads/rail (a noise proxy). We race several Overpass mirrors so a slow one never blocks a search.
  • Air quality from Open-Meteo (US AQI, PM2.5).
  • Street-level crime from NYC Open Data (NYPD complaints).
  • Safety, healthcare, education, and cost of living at the state level from a curated index built on public rankings (FBI crime rates, US News, health- system rankings), blended with the live local data.
  • Address entry uses Photon and Nominatim for typeahead, so users can only pick real US places.
  • A Leaflet map (CARTO tiles) shows what surrounds the address.
  • The written verdict is generated by an LLM through OpenRouter, with a deterministic fallback so it always works.

Challenges we ran into

  • There is no free, nationwide, point-level crime API. Instead of faking it, we blend curated state-level safety with live local crime where it's open (NYC), and say so in the UI.
  • Public Overpass mirrors are often slow or rate-limited, so we race them and cache results.
  • Standard geocoders aren't built for typeahead ("Brook" wouldn't find "Brooklyn"). We switched to Photon, ranking cities by importance and neighborhoods by proximity to the chosen city.
  • Keeping scores honest: everything is a transparent, weighted heuristic, and we label what is live vs. curated, and what isn't included yet.

Accomplishments that we're proud of

  • It's a real, working product on live data — pick a persona and any US neighborhood and get a genuine, data-backed read, not a mockup.
  • Personalized scoring that actually changes what you see: a retiree never gets scored on schools; a student never gets scored on healthcare.
  • Honesty as a feature. Every number is traceable to a source, we label what's live vs. curated, and we say out loud what we don't cover yet — no fake "real-time" data.
  • Typeahead that only lets you pick real US places, so the analysis is never run on a location that doesn't exist.
  • A resilient data layer: we race multiple OpenStreetMap mirrors and degrade gracefully when a source is down, so a search still returns something useful.
  • This was my very first hackathon, so honestly I'm proud just to have taken part — and even prouder to have shipped something real and working.

What we learned

  • A huge amount of genuinely useful civic data is open — crime, air quality, transit, schools, health rankings — but it's scattered, inconsistent, and only valuable once it's stitched together and made readable.
  • "One score for a neighborhood" is the wrong idea. The same street is a different place for a family, a student, and a retiree, so the scoring has to be personalized to be honest.
  • Off-the-shelf geocoders aren't built for autocomplete, and picking the right data source (Photon for typeahead, Overpass for features, Open-Meteo for air) matters more than any single clever algorithm.
  • Being upfront about the gaps builds more trust than pretending to have data you don't.

What's next for CityLens

  • Worldwide coverage — the scoring model already works globally; it's the country-level data that needs to be filled in.
  • Street-level crime for more cities beyond NYC, using other open police-data portals.
  • Housing costs and commute-time layers, the two things people ask about most.
  • Save and compare neighborhoods side by side, and share a result with a link.

Built With

Share this project:

Updates

Submission history