I built a community resource map for Eastern New York this week. It has a search panel, categorized markers, a mobile-friendly bottom sheet, and live tile imagery from Esri.
It has zero backend. No server. No database. No API routes. No Node.js runtime.
It's one HTML file.
Here's what surprises people: a browser is already a fully capable application runtime. Once the HTML lands there, the server is done. Everything after that — rendering, interaction, tile-fetching — happens locally on the device.
Leaflet is a 40KB JavaScript library. Load it from a CDN, give it a <div>, and you have a complete mapping engine. Map tiles stream in directly from OpenStreetMap or Esri. The data — resource locations, categories, contact info — lives in a plain JSON object in the file itself.
For updates, you have two clean options: embed the data directly and edit it online when something changes, or point Leaflet at a Google Sheet published as CSV — admins update the sheet, the map stays current on every load. No deploy required.
No framework to upgrade. No database to back up. No API key rotation. No cold starts.
The right tool for this job wasn't React. It was a text editor and forty kilobytes of JavaScript that's been stable for fifteen years.