Triple Migration: Next.js, Sanity CMS and Tailwind CSS
Unifying a fragmented digital platform to reduce team friction
By late 2025, our digital platform was bottlenecking our organizational goals. We executed a parallel structural shift to solve this: Sanity CMS to open content publishing beyond our small product team, giving departments across the museum direct editorial ownership for the first time; Next.js to unify a fragmented frontend stack into a single environment; and Tailwind CSS to replace our in-house Sol system with something community-driven, standardized, and far easier for a small team to maintain.
Following organizational shifts, the Sanity CMS migration continues, but others were sunset. The Sol-to-Tailwind work I continued independently β see Sol to Tailwind: A Design System in Translation.
General Admission Ticketing
Streamlining the checkout experience
For years, the ticketing flow was driven by a white-label solution we had little control over. Members and non-members were routed into entirely separate flows from the first screen, causing unnecessary confusion and friction for visitors.
We redesigned the checkout funnel by collapsing five pages into three, smoothing out the checkout experience. Membership moved from a routing gate to a contextual prompt throughout the flow, surfaced when relevant. Bringing it in-house also meant we finally owned the experience end-to-end β UX decisions, analytics, A/B testing, and feature development were no longer constrained by what the white-label system allowed. Average time to checkout was reduced by over 50%. Revenue increased 4.5% in the first six months after launch.
MoMA Expansion Rebrand
Translating a physical expansion into a flexible digital system
When MoMA expanded in 2019, it committed to a βperpetual rehangβ β rotating a third of its collection every six months, surfacing art that had sat in storage for years. The museum was transforming, physically and curatorially, and the website had to match both.
To match it, Doberman brought the new visual language, injecting bold typography and color into MoMAβs famously monochromatic palette. I translated their designs into flexible content and color systems in time for the reopening. Rob Giampietro (Director of Design) documented the process of the redesign in his AIGA Talk, βDesigning a new MoMAβ.
Additional Work
Triple Migration: Next.js, Sanity CMS and Tailwind CSS
Parallel migration of Golang to Next.js (Frontend), Ruby-on-Rails to Sanity (CMS), and Sol to Tailwind CSS (Design System).
Homepage rebuild using Sanity CMS to streamline content publishing.
Reconfigurable micro-site for annually recurring Family Festival.
Sitewide Consolidation and Modernization of Layouts and Forms
Consolidation of fragmented layout structures from past iterations and a modernization of global form components to eliminate legacy dependencies.
Top Navigation Refresh
A redesign of the global header component.
API-driven, native checkout flow that replaced a legacy, white-label third-party ticketing experience.
New editorial layout options for art terms, making it easier to feature longer stories about art movements and techniques.
State-driven content channels designed to surface and organize the museum's digital video catalog.
Online account portal enabling members to independently manage renewals, tier upgrades, and account profiles.
Member dashboard providing direct access to digital benefits, account statuses, and personalized content.
Atomizing Collection Pages
Front-end overhaul of Collection pages to implement the utility-first Sol Atomic CSS framework.
Content Blocks Migration
Database and architecture shift moving Magazine, Art Terms, and Artwork layouts into a modular, structured data format.
Emarsys Email Provider
Migration replacing Constant Contact with Emarsys email provider.
MoMA's Expansion Redesign
Comprehensive sitewide redesign (the Doberman update) to unify the digital platform with the museum's physical gallery expansion.