About me

Hello, my name is James. I'm a front-end developer with a passion for delivering modern, accessible, user-centred user interfaces that work cross-browser and device.

I build UIs that are used daily by thousands of people across all manner of devices. I'm interested in all things front-end, from design system architecture, Javascript frameworks, accessibility best practices, to the latest SCSS techniques. A lot of my work is stored in private GitLab repositories, however you can see some projects on my GitHub profile.

Outside of work, when I'm not spending time with my wife and two daughters, I enjoy reading sci-fi, powerlifting, tabletop games and writing the occasional blog post.

Employment

Jadu

Senior UI Developer (April 2014 - Present)

I currently work as a Senior UI Developer for Jadu, a leading vendor of Web Experience Management software. Jadu specialises in web content management, customer experience & case management and web forms applications.

I'm responsible for designing and developing the user interfaces and experience of the Jadu software platform, designed for and used by government, higher education and not for profit sectors.

I work within a fast-paced agile-based commercial software engineering team, and I'm primarily involved in:

  • Development of our Pulsar design system, which powers the UI of our software
  • Front-end development of our CRM/Case management product, Jadu CXM
  • User interface (UI) and user experience (UX) design
  • Concept and prototype design (sketch work, user journeys and wireframing)
  • Ensuring our software is accessible and meets WCAG 2.1 at level AA
  • Performing accessibility audits and running internal accessibility workshops

Day to day, I'm generally building new features, working on our design system or fixing issues using:

  • Semantic HTML5 + ARIA
  • BEM based SCSS/CSS
  • Module-based ES6 Javascript and jQuery
  • Twig
  • Writing JS tests using Mocha, Chai and SinonJS
  • Mobile-first responsive design
  • Jira, Git (Tower) and Slack

I can also be found:

  • Wireframing new features and working with product owners to capture requirements
  • Performing accessibility audits and fixing issues to WCAG 2.1 level AA
  • Providing accessibility guidance to other engineering teams
  • Browser testing
  • Screen reader testing
  • Running internal accessibility workshops and training
  • Visiting clients, speaking to users, gaining feedback and requirements on new and existing features, identifying pain points and potential improvements

I also have some experience of:

  • Webpack
  • NPM
  • Babel
  • Grunt & Gulp
  • Angular JS / 2
  • Ionic / Cordova
  • Developing WordPress themes
  • I've recently started learning React

Last year I studied for the WAS exam, but due to Covid-19, this has been postponed.

Eclipse Legal Systems

Web developer (Feb 2011 - April 2014)

I was solely responsible for designing and developing the majority of Eclipses internal and external web properties. This included the main corporate site www.eclipselegal.co.uk, client portal clientarea.eclipselegal.co.uk and various other internal web applications (Intranet, knowledge base and staff expense tracker).

At the time, Eclipse was the UK's leading supplier of case management software to the legal industry. I worked within the marketing team, and my role consisted of:

  • Front-end end development (HTML5, CSS3, LESS and Javascript)
  • Back-end development (Both procedural and OO PHP)
  • WordPress theme and plugin development
  • Mocking up and coding prototypes for our development teams
  • Training and development of junior developers

Notable projects

Jadu CXM - Customer experience and case management platform

https://www.jadu.net/customer-experience-management

Jadu CXM is a customer experience and case management platform used by many local authorities and some of the UK's largest councils. My work includes the UI development and UX design of the system used daily by thousands of council staff users.

I work within the CXM team to both design and develop new features and fix existing issues. I work with the Product Owner to scope new features from the initial discussion to wireframes, user feedback and iterations and then feature development. I assist other more back-end focused developers in implementing our Pulsar design system within new UIs and advising on accessibility considerations. As many of our customers are government and local authorities serving the public, our software has to conform with WCAG 2.1 at level AA.

Due to the nature of the project, code is stored in private GitLab repositories, and therefore I'm unable to link to examples of my work.

Pulsar Design System

https://github.com/jadu/pulsar

Working as one half of a team of two. I build and maintain the Pulsar design system, our own internal open-source design system and component library. My involvement ranges from developing new features, fixing issues, implementing & testing components in our products, assisting other product teams implementing Pulsar components, and browser, device, and screen-reader testing.

Jadu 2FA mobile app

https://apps.apple.com/gb/app/jadu/id993690879 https://play.google.com/store/apps/details?id=net.jadu.jadu

When two-factor authentication was introduced to our products, I designed, developed and released a branded 2FA app using the Ionic Framework (Angular & Cordova). The app allows users to scan a QR code within their account to automatically generate and store 2fa codes used to sign in to their Jadu control centre.

Features include:

  • QR code scanning
  • Storage of multiple 2FA codes that refresh every 30 seconds
  • Supporting multiple control centres.

Jadu SelectWoo

https://github.com/jadu/selectWoo

A fork of the popular Select2 component, our fork includes an improved screen reader experience and broader coverage of browser and screen reader combinations.

Pulsar Date Picker

https://github.com/jadu/pulsar-date-picker

Built on top of the jQuery UI date picker, the Pulsar date picker addresses various accessibility and keyboard issues found in the original.