Enterprise Design System
One designer. Fifteen products. Eight years. One system that tied it all together.
The problem
Legacy Windows architecture across the portfolio — complex, inconsistent, impossible to scale. Redesigning each product independently would only recreate the same problem in a newer stack.
Where it began
I walked into Agilysys in August 2017 and looked at the product portfolio for the first time. Property Management. Point of Sale. Inventory. Spa. Golf. Booking. Kiosks. Mobile. A whole ecosystem of enterprise hospitality software — each built independently, each behaving differently, each carrying years of legacy complexity. The mandate was to modernise everything for the cloud. What nobody had mapped out was how to do that across fifteen-plus products without creating fifteen-plus versions of the same problem.
The problem nobody had named
The real problem was not the legacy technology — that was solvable. The deeper problem was that there was no shared foundation. No common visual language, no shared components, no consistent interaction patterns. A user moving from the front desk PMS to the spa booking system felt like they had switched companies. The learning curve reset every time. The brand trust eroded every time. Something foundational had to be built — not another redesigned screen. A system.

How I built it
The first version was built in Adobe XD — manually created design library files shared between designers as the team grew. As we scaled we moved to Figma, and everything changed: tokens for colour, type, spacing, and component states could be published and consumed in real time by every designer and developer simultaneously. The system became live infrastructure, not a shared document.

Architecture followed the user
The most important decision: the system could not be one-size-fits-all. PMS users navigate deep workflows at a desk. POS users are on their feet making fast decisions. Inventory users move through dense, menu-heavy screens. So shared foundations went where users were the same, and dedicated libraries where they were not. Three versions followed — V1 modernised the foundation, V2 was rebuilt from FullStory behavioural evidence, and V3 tightened everything into one responsive grid system across all products.

Earning adoption one team at a time
Getting fifteen-plus product teams onto a single system was the hardest part of the eight years — not technically, organisationally. I made the case with business arguments, not design ones: faster delivery, lower QA costs, less designer effort, products that were easier to sell. No team was ever forced to adopt. They were shown why it worked — and they chose to.

When a design system works the way it should, people stop talking about design. And start talking about what the product actually does.






