Planned2026

NJ Parcel Flood Risk Dashboard

Flood exposure for 3.4M New Jersey parcels, scored 0–100 and served with no backend.

Not built yet. The build guide, source spec, and pipeline design are complete and committed; no code has been written and no data has been processed. Every figure below describes scope, not a result.

  • flood
  • gis
  • data-pipeline
  • housing
  • python
  • 3.4MParcels in scopescope, not a result
  • 21Counties targetedscope, not a result
  • 564Municipalities targetedscope, not a result
  • ≤ 12 hStatewide intersect budgetscope, not a result

Figures marked scope describe the size of the problem this project is specified to handle. They are not measurements — nothing has been run yet.

What this is

A statewide dashboard joining New Jersey’s MOD-IV tax-assessment records to parcel geometry, intersecting every parcel with current FEMA flood layers and future climate/sea-level-rise layers, and scoring each 0–100 with its drivers visible. The audience is underwriting and portfolio review: search by address or PAMS PIN, filter by county and municipality, and read exposure by property class as both a parcel count and an assessed-value total.

It extends GeoFloodFin — five cities, 203 tracts — to the whole state at parcel grain. The narrative hook is the productisation: the same analytical question, asked at a scale where the engineering is the hard part.

Python ETL local, partitioned by county, every stage resumable 01 parcel core MOD-IV → geometry, privacy strip, class groups 03 intersect the heavy stage — NFHL + future layers 05 score 0–100 with visible drivers 06 aggregate DuckDB → municipality and county rollups Published artifacts Cloudflare R2, public bucket PMTiles tippecanoe, parcel-zoom bands Parquet + summary JSON Per-municipality search shards Static app only runtime calls: basemap, R2, geocoder MapLibre + pmtiles protocol Vite + React, Cloudflare Pages
How do 3.4 million parcels get scored and served without a backend?NJ Parcel Flood Risk build guide §6.1–§6.3 (stages 00–09, county-resumable).

Design decisions already locked

The whole thing is precompute-everything: no server, no runtime geoprocessing. Heavy intersection runs locally, partitioned by county and resumable so a failure never restarts finished work. What ships is tiles, Parquet, and small JSON summaries on object storage, read directly by a static app.

Two rules are non-negotiable in the guide. No owner names or mailing addresses appear in any published artifact. And NFIP loss evidence is aggregated to census tract, never to parcel — the redacted claims dataset does not support parcel-level precision, and pretending otherwise would be both wrong and a privacy failure.

Publication gates are written before the first line of code: MOD-IV join rate ≥ 97% statewide, county parcel counts within ±2% of source, geometry validity 100% after repair.

Share this page

https://abdulkalam.pages.dev/projects/nj-parcel-flood-risk/

Scan to open this page. Download the SVG for print.