I am a novice at GIS and mapping but when I got started I thought a map/tile server was the only way to build mapping webapps.
But, in my admittedly simple application PMTiles can cover a lot of my visualization use cases with a thin Django app doing GEOJson for interactive layers.
I'm working on a map project [1] (which is a proof of concept) where you can add posts and stories by sharing the map URL on social media (mastodon.social only at the moment, we used to have a twitter listener as well). The state of the map is encoded in the URL and is added as a post when the listener catches the URL in the stream.
So far you can draw shapes and unofficially add geojsons to the map. I am very excited adding the ability to link custom PMTiles in the future!
I believe it's only range requests you need supported. there's also cool sqlite querying and flatgeobufs that can do fancy lookups on large single file formats
PMTiles is great for a static background. You can easily do a layer on top with geojson like you say, or even just by storing your own data in postgres and using postgis ST_AsMVT to turn it into a vector tile layer. Stick a cachebuster in the URL & a http cache in front and you can call it a day.
But, in my admittedly simple application PMTiles can cover a lot of my visualization use cases with a thin Django app doing GEOJson for interactive layers.
https://github.com/protomaps/PMTiles