Web developer HTML. CSS. JavaScript. Accessibility.

I'm a front-end developer with a passion for HTML and accessibility. I have 15+ years of experience but still looking for opportunities to learn and improve.

I have over five years React experience but happy to work with other frameworks. Also happy to muck in on the server-side and work across the stack.

Key strengths:

  • Comfortable working independently, pair programming and mentoring
  • Collaborating with other developers and designers to improve solutions
  • Delivery focussed
  • Strong leadership, communication and organisational skills
  • Experienced with Agile practices and methodologies


Testing Library,
Back-end / Server side
User stories,
Project management


In addition to day-to-day development I am interested in: Business Analysis, Accessibility, Functional Programming (Crocks, Rambda), TypeScript, GraphQL, Preact, Svelte, Eleventy, server-side rendering, Linux.

I am currently doing a course using Next.js, GraphQL and Prisma.

With respect to accessibility I have been attending an Accessibility Meetup whenever possible.

I also enjoy reading books such as; Grokking Algorithms (Aditya Bhargava), Functional Light (Kyle Simpson), Code (Charles Petzold).

Professional experience

  1. Simply Business


    Maintained UI for telephone consultant task management system.

    As the principle front-end developer I worked with the team to introduce new features and update the front-end stack. I migrated the existing code to Redux Toolkit (reduce boilerplate, uses Immer), updated test framework to Testing Library.

    Introduced Theme-UI and design tokens to improve the consistency of UI components. Added screenshot tests using Puppeteer to test for UI regressions during builds.

    Updated Storybook to the latest version and introduced new features to improve the documentation.

    ReactTheme-UITesting libraryStorybookPuppeteerTwilioKafka
  2. Equal Experts


    Developed a health care related product for a leading high-street pharmacist. Played a significant role coordinating the front-end work including; technical decisions and implementation, mentoring, code reviews and testing. Presented work-in-progress to stakeholders at bi-weekly demos. Worked closely with UX and UI colleagues and contributed to the regular planning and refinement sessions.

    ReactRedux bundlerRebassTesting libraryDocz
  3. Marks and Spencer


    Working in a very small team (UX, UI, product owner) to build a furniture selection and customisation prototype.

  4. The App Business


    E-commerce project for an international DIY brand.

    ReactRedux-SagaTypeScriptCSS modules
  5. Marks and Spencer


    Part of a small team developing an exciting new e-commerce venture for M&S.

    I've used the Google Lighthouse tool to identify performance issues and consequently installed:

    • React-Loadable to assist code splitting.
    • Intersection observer to lazy render off-screen elements.
    • FontFaceObserver to efficiently load fonts
    • Web Worker to run a countdown timer accurately
    ReactReduxStyled ComponentsCypress
  6. Razor Occam


    Full-stack developer for Europe’s leading supplier of tools for professional tradesmen. Building on my experience with; React, Redux, Webpack, NodeJS, and mobile first design. Also gained experience with; Redux-Saga, Next.js, MongoDB, DynamoDB, PassportJS and Docker.

    On the main website some features I've added are:

    • Extended the search component to include sections and keyword highlighting.
    • Re-designed main header to improve responsive design.
    • Halved the CSS bundle size by adding PostCss dedupe process to Webpack.
    • Pro-actively fixed bugs with small screen layouts and IE .


  7. This Place


    Building functional templates for integration into a large supermarket's web site. A strong focus of this work was to write readable code to assist remote developers implement the templates into their system. The client did not wish to use a modern framework so the core technologies used were HTML, CSS, vanilla JavaScript and jQuery.


    HTMLCSSvanilla JavaScript
  8. Radical Company


    Two functional prototypes (with extensive UX) for Lloyds Bank. Part of a small team working closely with the client, delivery lead and UX to produce and present weekly demos.

    The principle architecture was React with Redux so I extended my experience to include; Reselect, higher order components (where useful) and testing with Enzyme.

    These applications required significant data modelling to normalise the structure the Redux store and involved complex maths to calculate the results. Users enter income and expenditure allowing a projected cashflow to be presented graphically, allowing shortfalls and surpluses to be identified during the year.

    Included features are:

    • Items can be marked as monthly, quarterly or one-off to reduce repetitive data entry.
    • Sliders to quickly and easily flex results.
    • The graph instantly updates to show the change in data entered.
    • Add scenarios to compare agains a "baseline" projection.
    • Scenarios inherit data from the "baseline" as a quick starting point but immutability is respected so that changes do not affect other scenarios.
    • CSS transitions provide a smooth experience when navigating between scenarios.
    • Export data to an email.
    • Send data to the second application.
    • Memoization to optimise expensive re-calculations.

    The second application helps a user identify surplus cash for investing at specific times of the year. It imports a dataset of the user's cash situation and a live list of available investment fund accounts. Qualifying accounts are calculated throughout year and presented on-screen. For example there may be minimum invest amounts and durations.

    Website isot publicly available but I can demo a locally running version.

  9. Odin Solutions


    Technical lead and architect for front-end web development across a range of projects. Responsible for the research, selection and implementation of appropriate technical stack.

    Introduced new technologies and techniques including React, Redux, React Router, Webpack (code splitting, compression, postcss) and ES6. Worked with server-side devs on NodeJS, API design and deployment to Amazon AWS & S3 buckets.

    In addition to the technical overview I championed git workflow, test driven development and code reviews. I also mentored and assisted junior developers.

    NodeJSReactReduxES6WebpackAWSS3 bucketsMentoring
  10. Salmon


    Responsive design for Dulux paint on desktop, iOS, Android and HTC Windows phone.

    KnockoutJSCSS - SASSJava String Templates
  11. VML


    Mobile first booking system for a major UK hotel chain.

    Used AngularJS and Adobe CQ. Integrated with remote APIs, local storage, used CSS3 for animations and solved various IE bugs and mobile autofill quirks.

    AngularCSS - SASS
  12. Burberry


    Intranet developer. Features such as post, share, comment, like, follow etc providing essential communications and knowledge sharing for Burberry's international staff.

  13. News International


    HTML, CSS and JavaScript developer for the next generation of The Times iPad and Android apps. Work involved significant JavaScript development and pair-programming.

    Vanilla JavaScriptCSS
  14. Which?


    Front-End Team Leader

    Technical Lead for the front-end team responsible for the Which? flag-ship web sites. Responsible for identifying areas for improvement and implementing those improvements.

    Implemented significant client-side improvements resulting in a Google Page Speed score of 96 (out of 100) for the homepage and over 90 for most other pages.

    Rhythmyx CMS Developer and Team Leader

    Part of team that re-designed the CMS architecture to deliver a new which.co.uk

    As CMS team leader guided the team to a number of successes. What had previously been a major bottleneck and source of discontent for business users become efficient and performant. 100 releases without rollbacks delivered frequent benefits.

    HTMLCSSJavaScriptRhythmyx CMSVelocity templatesSQL Server
  15. Scottish Borders Council


    • Chaired the web content group for corporate content management system.
    • Designed a pure CSS layout in 2003.
    • Provided training for the CMS system – groups and one-to-one.
    HTMLCSSJavaScriptRhythmyx CMSSQL Server