Case study
Museums of History NSW
Bringing two institutions onto one digital platform
When Sydney Living Museums and NSW State Archives merged, their collections still lived across separate websites that were nearing end of life.
Museums of History NSW needed to bring them together without losing the connections between thousands of records, stories, places and objects.
A student researching colonial Parramatta might need a record from the State Archives, a photograph from the library index and information about a room in Elizabeth Farm, Australia’s oldest surviving homestead.
Before the merger, those could live in different places.
The new platform needed to connect them.
Quick facts
Airteam engineered a single digital platform bringing together content from two institutions, with more than 12,000 pages migrated from their legacy websites.
Visitors can search across archives, images and museum records, follow relationships between collections and explore historic houses through accessible 3D models.
Behind the scenes, a headless CMS gives MHNSW’s team one place to manage its content, including the separate Sydney Open website.
- Client: Museums of History NSW
- Industry: Arts, culture and government
- Services: Front-end and back-end development, CMS integration, content migration, search, accessibility, cloud infrastructure
- Partners: Pollen (UX and information architecture), For the People (brand)
One institution, many ways into its history
Museums of History NSW was formed by bringing together Sydney Living Museums and the State Archives and Records Authority of NSW.
Its collections span historic houses, museums, gardens and the State Archives Collection. Its audiences are just as varied: teachers, students, researchers, event visitors and people simply curious about the history of a place.
The challenge wasn’t just putting content from two websites into a new one.
The platform needed to preserve and expose the relationships between that content, while giving very different audiences useful ways to find it.
That created four significant engineering challenges:
- Taxonomy: translate a complex information architecture into a CMS structure that editors could continue managing and extending
- Search: bring thousands of pages, images and external library records into a useful set of results
- 3D collections: make interactive models of historic houses and artefacts accessible to more visitors
- Migration: move more than 12,000 pages from two legacy sites without rebuilding them manually

We used Sanity CMS to provide a comprehensive content editing platform
Turning an information architecture into a platform
Pollen designed the user experience and information architecture, while For the People developed the new MHNSW brand.
Airteam’s role was to turn those systems into a working digital platform.
We used Sanity as the headless CMS, translating Pollen’s taxonomy into a structured content model. That gives MHNSW’s editors control over individual pieces of content while preserving the relationships that connect people, places, stories and collections.
The front end was built in Next.js, with reusable interface components developed through Storybook.
Search required another layer.
MHNSW’s information didn’t all live in the website CMS. Images and library records came from separate catalogues, so Airteam built a custom aggregator to bring those sources together through Elasticsearch.
For visitors, that means a single search can surface material that previously sat across separate systems.

A view of page customisation and content options in Sanity
Moving 12,000+ pages without moving them by hand
Bringing the two institutions together also meant dealing with more than 12,000 existing pages.
Recreating that volume of content manually would have been slow and introduced plenty of opportunities for error.
Instead, Airteam developed web scrapers to automate much of the migration from both legacy sites into the new content structure.
The migration wasn’t simply about moving pages from A to B. Content from two different institutions had to fit a new shared model, while giving MHNSW’s editors a system they could manage once the migration was finished.
The result was one CMS supporting the combined MHNSW platform and Sydney Open, its annual architecture event.
Making a third-party 3D viewer accessible
Some of MHNSW’s most interesting digital content presented a different problem.
Visitors can explore detailed 3D models of historic houses and artefacts using Sketchfab. But the third-party viewer had limited support for people navigating by keyboard or using a screen reader.
Replacing the viewer wasn’t necessary. Ignoring its accessibility limitations wasn’t an option either.
So Airteam built an accessible annotation layer around it using the Sketchfab API.
The custom interface exposes the information within the models to keyboard and screen reader users, allowing more visitors to explore the same content.
It’s a useful lesson for any organisation building an accessible digital service: your accessibility obligations don’t stop where a third-party embed begins.
If an external tool is part of the experience, test it as carefully as the software you build yourself.
Built for public access at scale
The platform runs on AWS infrastructure distributed across multiple availability zones, with autoscaling to respond to changes in demand and a web application firewall protecting the application.
Those decisions matter for a public platform that needs to remain available whether someone is carrying out archival research, planning a museum visit or arriving during a major event.
But the infrastructure largely stays out of sight. What visitors see is one place to search across State Archives records and museum collections, explore historic houses in 3D and follow connections between people, places, objects and stories.
What MHNSW’s team gets is one content platform they can continue managing as those collections and stories grow.
MHNSW by the numbers
12,000+
Pages migrated from two legacy websites
2
Institutions brought together on one platform
2
Websites managed through the same CMS