WageMap is a static, client-only visualization. No application data is sent to a backend that we control; all computations run in the browser. The datasets below ship with the repository so the map works offline once assets are loaded.
| Data | Source | How we use it | Storage | Refresh / notes |
|---|---|---|---|---|
| Prevailing wage levels (Level I–IV) | U.S. Department of Labor, OFLC Prevailing Wage Data 2025–2026 (ALC export + Geography lookup) | Determine the county-level wage floor per SOC and compute the wage level for a user-entered salary | public/data/soc/<SOC>.json generated from raw/ALC_Export.csv + raw/Geography.csv via scripts/process_oflc_county_wages.py and scripts/process_wages_for_map.py |
Values are hourly and normalized by county name/FIPS; may lag newer OFLC releases; not legal advice |
| SOC codes & titles | OFLC “Wage Year 2025-26 Appendix A, Job Zone, and Education.xlsx” (sheet “Appendix A SOC Codes”) | Populate the occupation autocomplete and display titles | public/data/soc_codes.json generated by scripts/generate_soc_codes_from_appendix_a.py |
Contains parent SOC (e.g., 11-1011) plus detailed codes; update when a new Appendix A is published |
| County boundaries | U.S. Census Bureau cartographic boundary shapefile cb_2017_us_county_20m |
Render county polygons, derive state/county dropdowns, and compute map bounds | public/counties.geojson |
Generalized geometry for performance; includes FIPS codes (STATEFP, COUNTYFP, GEOID) |
| Basemap tiles | Mapbox Light v11 style served by Mapbox | Provides the background map; overlays our county layer and popups | Requests go to Mapbox using VITE_MAPBOX_TOKEN |
Subject to Mapbox Terms of Service and privacy policy; Mapbox receives client IP/UA as part of tile requests |
| Lottery probabilities | Static percentages in src/Map.jsx (LOTTERY_2026_SELECTION) |
Optional overlay to show an illustrative H-1B selection probability by wage level | In-code constants; no external data calls | Simplified, historical placeholder values; replace when official FY27 selection rates are available |
- The app does not log or persist user-entered salaries or selections; everything stays in the browser.
- Basemap tile requests go directly from the browser to Mapbox and are subject to Mapbox telemetry and usage policies.
- Sharing uses the native share sheet (if available) or copies the current URL to the clipboard; no additional tracking is added.
- Wage and lottery data are provided for informational/visualization purposes only and should not be treated as legal advice or an official prevailing wage determination.
- Static datasets may become outdated; rebuild data when OFLC publishes new releases or when USCIS announces updated H-1B selection rates.
- County name normalization may introduce occasional mismatches for uncommon naming variants (e.g., consolidated city-counties); please verify edge cases against the source data when in doubt.