Quandary about typeahead. The current bootstrap works with twitter/typeahead, which in turn requires bloodhound, which adds more complexity than I think is necessary. But if I use an older typeahead, that worked with bootstrapo versin 2, the maintenance and documentation will become an issue. See https://github.com/twitter/typeahead.js/blob/master/README.md
Experiments and Recipe for First Attempt
Downloaded small San-Francisco centered mbtiles file (from https://openmaptiles.com/downloads). Initially impressed that the whole Bay area to level 14 occupied only 41MB.
Tried a number of mbtile servers (based upon docker, npm, an php). Chose to work with php.
Worked through the great workshop examples of using openlayers client javascript tool at https://openlayers.org/workshop/en/. First using online sources for javascript imports, then downloading, and attempting to get first cut to run offline.
Developed strategy of creating a world vector set to some intetmediate resolution, and then modifying whatever it took to merge in a regional subset of the world at higher resolution. (The rpi SD real estate is expensive and highly in demand)
Downloaded the planet to zoom level 14 (51GB).
Created an abstract of the whole planet from zoom level 0 to zoom levels 9 (580MB) and zoom level 10 (1.4GB).
Downloaded Central-American bounding box zooms 0-14. Discovered that trying to eliminate zooms 0-10 seemed to confuse the javascript openlayers client.
Did not like lower level zoom tiles compared to the colorful National Geographic tiles, which Rachel uses, but which I have not found licensing statement which permits distribution in a "for sale product".
Converted the large naturalearth tiff image to mbtiles.
Caused the lower zoom level to be backgrounded by naturalearth raster, with overlay from the OSM maptiles.
Explored the geosearch used by Rachel, but found its implementation to be closely integrated with leaflet. (Leaflet is an older map client, which many of my sources suggested could not handle vectors easily, except via a plug in which came late in the product lifecycle).
Chose to use the same geosearch search source as used by Rachel, but to use the larger subset of most cities with a population greater than 1000--7MB (rachel searches cities greater than 5000 population - 2MB)-- source: http://download.geonames.org/export/dump/