A real-estate market intelligence app that turns official U.S. housing data into an interactive map — not listings, but the underlying market itself: home values, rents, inventory, and affordability trends for every state, metro area, county, and ZIP code in the country. Users zoom from a national view down to a single ZIP code and see a decade of historical trends, national rankings, and 90+ tracked metrics, all rendered live on a touch-friendly map.

A real-estate market intelligence app that turns official U.S. housing data into an interactive map — not listings, but the underlying market itself: home values, rents, inventory, and affordability trends for every state, metro area, county, and ZIP code in the country.
Users zoom from a national view down to a single ZIP code and see a decade of historical trends, national rankings, and 90+ tracked metrics, all rendered live on a touch-friendly map.
Most map apps show a manageable number of points — restaurants, listings, stores. This app had to show every U.S. ZIP code (30,000+) at once, each carrying dozens of statistics, on a device with a fraction of a server's memory and no guarantee of a fast connection.
The map also had to feel instant: switching between metrics, zooming from country to neighborhood, and filtering by value range all needed to happen without a loading spinner getting in the way.
The honest engineering question was never "can we build a map with data on it" — it was "how much of this can we responsibly hold in memory on a phone, and how do we hide the rest until it's actually needed."

A four-tier geographic map (State → Metro → County → ZIP) automatically switches resolution as the user zooms, rendered on self-hosted vector tiles — no marker clustering, just the right layer of detail at the right zoom level.
A tiered data strategy keeps state, metro, and county data — small enough to matter — fetched once and cached locally with a daily refresh, while ZIP-level data, too large to ever fully cache on a phone, is streamed live and scoped to exactly what's on screen at that moment.
Instead of hosting a separate map style for every metric, the color coding is computed on the device from the live data, so switching from "Home Value" to "Population Growth" is instant — no new map to load. A semantic GraphQL data layer (Cube.js) powers both the map and a national leaderboard/ranking screen, plus downloadable PDF market reports.



| Engineering Decision | Outcome |
|---|---|
| Tiered caching — state/metro/county cached locally, ZIP streamed live | Cold-start data loading cut down to just three small, bounded datasets — the unbounded ZIP layer never blocks the app from being usable. |
| Client-side computed color coding instead of per-metric map styles | A single rendering pipeline supports 90+ metrics with zero incremental infrastructure cost per metric — adding a data point is a data change, not a map change. |
| Four-tier automatic zoom resolution on self-hosted vector tiles | The map stays responsive at every zoom level, from the whole country down to a single ZIP. |
Beyond the core map experience, the app rounds out into a full product: a market-focused news feed for community discussion, native in-app purchase subscriptions gating the deeper data tiers, and a push-notification system with multi-device support and a remote-triggered force-update safety net.






