


Bane NOR is the backbone of Norwegian rail — responsible for every kilometre of track, every signal, every station across the country. When they brought me in to lead their design system work, the scale was immediately apparent. Dozens of internal product teams, a sprawling legacy of inconsistent UI patterns, and a real need for something that could hold it all together. My job was to build that foundation.
I led the architecture and delivery of a component library in React, underpinned by a token-based CSS system designed to scale across teams and contexts. That meant making hard decisions — about naming conventions, about what belongs in the system and what doesn't, about how to write documentation that engineers actually read. It also meant working closely with designers and developers who had their own ways of doing things, and earning their trust through craft and consistency.
By the end of the engagement, the system was live and in active use. Components were being adopted, patterns were being followed, and teams had a shared language for building interfaces. For an organisation the size of Bane NOR, that kind of coherence doesn't happen by accident — it takes deliberate, careful work. I'm proud of what we shipped.