FR version is available. Content is displayed in original English for accuracy.
Started as my MA thesis in 2022, kept building since, mostly solo with a little funding. Fully open source, self-hosted, AGPL-3.0, Next.js + Deck.gl on the frontend, Strapi backend, Python ETL pulling from museum open-access APIs. Currently indexing over 100k artifacts from all over the world, across 8 collections (Met, V&A, SMB Berlin). Recently added an md export so researchers can download provenance data for a filtered set of artifacts.
The infrastructure is conceptualized as an indexer, not a hoster. Even images are kept as URLs pointing to the source institutions. It's connective tissue between archives that were never designed to speak to each other, with an origin-first search UI concept. The data model is on purpose flat, to avoid encoding problematic taxonomies, and routes researchers directly to the source giving responsibility to the source institutions rather than duplicating institutional data. It indexes the relationship between origin sites and destination collections.
Coming from a design background, taking this project from prototype to production app has been incredibly rewarding, but honestly it’s getting a little bit overwhelming to scale alone. I would love community’s feedback on performance scaling, any code contributions, data pipelines for missing museum apis or general feedback.
Repo: https://github.com/hburakyel/ex-situ
Live: https://exsitu.app

Discussion (26 Comments)Read Original on HackerNews
A small subset of the data. If all London museums were included (such as the British Museum, for example) there would be a LOT more lines going to London.
[^1]: https://en.wikipedia.org/wiki/William_Richard_Hamilton
From a UX perspective, it is very weird to place the toggle button for the right panel at the top of the left panel... After I gave up to find a way to close the right panel, I found that button a few minutes later, when I looked around for other interactive elements.
I couldn't figure out from the UI but is there a way to filter the map? Say, I only want to see things going out of Cusco or I only want to see where things end up in Berlin?
It would also be nice to have some directionality to the lines to indicate source and destination, perhaps a colour or lightness gradient or something.