Work
Vodafone Neo
Many product teams were each building their own UI, so brand and accessibility had drifted apart. I came in as the first engineer on a team of designers, and built one system with them, joining Figma to code: the tokens, a React component library and the documentation.

Problem
Vodafone’s product teams were building their own UI, each doing good work with what it had. Side by side, though, the brand looked different from one product to the next, and accessibility, which Vodafone has to meet by law as well as by choice, rested on each team getting it right alone. One shared system could fix both, if it cost those teams less than building their own. The designers and I had to show that it would before any product team gave it their time.
Decision
The tokens are the one source design and code share. They’re pulled from where the designers define them, and every platform’s are built from them, so a change in design reaches code as a change someone can review. The React components and their documentation sit on top, and Code Connect shows an engineer looking at a design which component to use, props and all. New components start in a labs tier, so a team can try one early, knowing it may still change. I started a record of the decisions, and the team adds each one as it’s made. And every rule a change is reviewed against says who checks it: CI, an agent or a person.

What changed
Neo’s packages are released one by one to a private feed at Vodafone, so a team that needs only the tokens can take them without the components. Automated accessibility checks run on the components’ documented examples, and a failing check stops a change from merging. Each component also describes itself in a form an agent can read, so a team’s agents can build from the same system its engineers do. Getting teams to use Neo is the part still going, and the one that matters most. Whatever gets in the way of a team trying it is what I work on next.


Say hello
Email hello@phil.dev. I read everything that isn’t a sales pitch.