It's "serverless". I don't have a web server of my own and there's no database.
The first iteration was very fast. I got 100 in every category in Lighthouse (but that doesn't cover everything of course). It used OSM raster map tiles. The no-streets map tiles were discontinued so I had to switch to using custom Maptiler map layers via Mapbox. Still more than fast enough IMO. I aggressively cache the Overpass data per area.
Then I migrated to Cloudflare pages to access their geolocation information via an edge handler. That slowed down visits without a LatLng in the URL because it does a couple of redirects.
Then today I had to fight multiple fires due to traffic and usage limits. I managed to workaround all the issues as they arose but the routing of page loads isn't ideal right now. Cloudflare are raising limits for me at midnight UTC so I'll be moving back to the faster setup again.