High-Performance GeoData Visualization with Mapbox and Next.js

Job ID: 40271301

Budget: $1,000 – $2,000 USD

GIS/Map Frontend Engineer — Property Data Platform (Mapbox GL JS + Next.js)
We're building a real estate data platform that visualizes property records on interactive maps. We have a working Leaflet/HTML prototype displaying 56,000+ parcel polygons for a California county (color-coded with filtering and popups) and need it rebuilt as a production-grade Mapbox GL JS application inside Next.js.
What we have:

Working Leaflet prototype with 56K+ parcels
GeoJSON and GeoPackage datasets (parcel geometries joined to property records)
Python/geopandas data pipeline producing the source files
Cloudflare hosting environment

What we need built:
Performance & Core Map

Migrate from Leaflet to Mapbox GL JS with vector tiles (Tippecanoe or PMTiles) — current build loads raw GeoJSON which bogs down at scale
Target: 60fps pan/zoom and sub-2-second initial load with 50K+ polygons
Color-coded parcel polygons with toggleable schemes (by dollar amount, property type, year, status)
Interactive popups with property details (ID number, address, dollar amounts, zoning, status)
Map controls: basemap toggle (satellite/street), county boundaries, fullscreen, zoom-to-parcel

Filter Panel & Search

Sidebar with real-time filtering by dollar amount range, property type (residential/commercial/vacant), year, assessed value, acreage, and status — filters update the map instantly
Search by parcel ID or street address with auto-zoom and popup

Spatial Analysis Tools

Click a parcel → highlight all matching properties within a configurable radius
Adjacency detection: identify matching parcels sharing a boundary with the selected parcel
Drawing tools: user draws a polygon, gets aggregate stats for everything inside it (count, total dollar value, average assessed value)

Multi-Region Scaling

Scale from 1 county to multiple counties across multiple states with a state/county selector and lazy-loaded tiles per region
Architecture must support adding new states and counties without code changes — just drop in new tile files and config
Document the tile pipeline so our data team can onboard new regions independently

Mobile

Collapsible filter panel, touch-friendly popups, usable on tablet and phone

Technical Stack:

Next.js 14+ (App Router), React 18+, TypeScript preferred
Mapbox GL JS v3 with vector tiles
Tippecanoe, PMTiles, or equivalent tile pipeline
Cloudflare Pages deployment (must work with existing Cloudflare setup)
Tailwind CSS for styling
Will consume a Supabase/PostGIS API built by a separate backend developer

Required Experience:

3+ years with Mapbox GL JS or MapLibre GL JS
Demonstrated experience rendering 10K+ polygons with smooth performance
Vector tile generation (Tippecanoe, Martin, or similar)
Strong Next.js/React component architecture
Familiarity with GeoJSON, GeoPackage, and Shapefiles

Nice to Have:

PMTiles on Cloudflare R2 experience
PostGIS spatial queries
Real estate or property data background
Map box expert