Map updates, December 2025 - Now with more PMTiles
In addition to 2025, we’ve also added new imagery from 1920, 1936 and 1961 all produced using the Allmaps Editor to georeference existing collections materials. I’ll talk more about some of the tools and workflows we’ve developed to work with Allmaps in a future blog post. All of these new maps have also been added to the interactive map application on display in the Terminal 2 SkyTerrace Observation Deck. As part of those updates we’ve also started serving these historic maps from PMTiles databases rather than folders full of individual tiles on disk.
This is a blog post by aaron cope. It was published on December 15, 2025 and tagged maps, protomaps, ios, swift and vapor.
WallLabel – Experiments with Apple’s open source machine-learning frameworks
On-device models are still someone else’s models but having the flexibility to choose one model over another, to recognize that they are systems with strengths and weaknesses rather than all-knowing oracles, and the ability to incorporate those choices in to how our projects are designed and implemented is a small, but important, step in retaining some degree of control and agency in our work.
This is a blog post by aaron cope. It was published on October 29, 2025 and tagged swift, ios, mlx, machine-learning and roboteyes.
Registrar – Experiments with Apple’s on-device machine-learning frameworks
We are releasing this work in a spirit of generousity and to encourage others to suggest improvements with the larger goal of providing resources to help the broader cultural heritage sector think about how to use machine learning technologies outside and beyond the promises of the billboards advertising these same technologies in Silicon Valley and the world over.
This is a blog post by aaron cope. It was published on October 16, 2025 and tagged swift, ios, llm, machine-learning and roboteyes.
Searching the SFO Museum Aviation Collection website by color
The search-by-color functionality works by taking an input color, represented as a hexidecimal string, and then “snapping” it to its nearest match on a fixed palette of colors. The RGB color space contains over 16 million individual colors so searching for exact matches will usually yield too few results to make searching by color useful. By “bucketing” all those millions of colors in to a fixed set of a couple of hundred colors, a “palette”, things start to get interesting.
This is a blog post by aaron cope. It was published on June 16, 2025 and tagged collection, search, color, api and webassembly.
Updates to the SFO Museum text and image “embossers” (and a brand new tool for color matching)
In addition to all these changes the go-image-emboss package now includes a new command line tool, called review-colors, to perform image segmentation, color extraction and “snap-to-grid” matching with one or more color palettes for images, displaying all the results in a handy webpage.
This is a blog post by aaron cope. It was published on May 29, 2025 and tagged golang, swift, roboteyes, grpc and color.
Building a custom Placeholder geocoding database
Placeholder is great but there are three things it doesn’t support by default which are pretty important for SFO Museum: The inclusion of airports, historical records and SFO Museum architectural records in the search index. I am happy to say that we are now able to build our own custom Placeholder SQLite databases which address all of these issues.
This is a blog post by aaron cope. It was published on April 28, 2025 and tagged golang, placeholder, geocoding and history.
The SFO Museum Application Programming Interface (API)
Today we are announcing the availability of the SFO Museum Application Programming Interface (API). The API allows developers to access SFO Museum-related data programatically over the internet. The SFO Museum API has actually been around for a while now. It’s what powers the object counts as you add and remove filters on the advanced search page on the Aviation Collection website and is how items are added to and removed from your shoebox from both the Collection and Mills Field websites. The various SFO Museum websites are API consumers just like any other application. We are pleased to be able to (finally) open up access to the API to you and we look forward to seeing what you create with it.
This is a blog post by aaron cope. It was published on January 14, 2025 and tagged golang, python, api, shoebox and picturebook.
SFO Museum flight data records now available as GeoParquet exports
This is a short blog post to announce the availability of flight data for of the over 8.4 million (and counting) flights that have traveled in and out of SFO, since 2006, as GeoParquet files.
This is a blog post by aaron cope. It was published on January 07, 2025 and tagged flightdata, geoparquet, geo and duckdb.







