I’m David Duncan. I live in Livingston, Scotland, where I work as a front-end focused software engineer.

I earned a Master's degree in Astrophysics from the University of St Andrews in 2001. After then training and working as a software developer, I returned to the field of Physics when I was accepted into a Medical Physics trainee programme. This path led me to a research position in Guildford following the completion of an MSc in Medical Physics from the University of Leeds. In that role, I worked in a hybrid capacity that combined research with software development. I would however relocate back to Scotland to focus on a career as a front-end software engineer.

After a few years working in front-end development, I had the opportunity to engage directly with users with accessibility needs, following an audit of the systems we were building. This experience was a turning point in my career, as it highlighted a significant gap in my skill set—accessibility. From that moment on, my approach to UI development fundamentally changed. Accessibility became a core consideration in everything I built, and it has remained a central focus in my work ever since.

I committed myself to learning accessibility in depth—studying WAI-ARIA guidelines, refining my use of semantic HTML, and applying ARIA roles and attributes effectively. At the same time, I continued to advance my CSS skills to build fully responsive, user-friendly designs. I began leading more impactful front-end initiatives, such as enabling font scaling through intrinsic layout techniques, developing custom dark and high-contrast modes, collaborating with UX/UI teams to build a component library, and integrating Tailwind CSS into our workflow.

As a Senior Developer, I deepened my expertise in component authoring by exploring best practices for building highly composable React components. This work laid the foundation for my transition into a Tech Lead role, where I guided the strategic direction of a UI Platform team. In this role, I led the development of a new component library and a documentation site featuring live, interactive component examples powered by Sandpack. While many components follow defined structures and interaction patterns outlined by the WAI-ARIA specification, my background in accessibility allowed us to go further—tackling more complex challenges beyond the basic primitives. One such initiative involved researching accessible form patterns and helping develop a suite of inclusive form components to support teams in building more accessible forms.

I'm deeply passionate about leveraging my experience to build capabilities that enable teams to create more accessible and effective user interfaces. Over time, I've developed a strong intuition for crafting the right abstractions with the appropriate level of composition. Through close collaboration with design teams, I've learned how to embed complex behaviors and accessibility into flexible, reusable components. By keeping these solutions off the critical path, we can address common visual and UX challenges—delivering real value to both developers and end users through more accessible, user-friendly interfaces.