ITG
Feb 2025 — Current
As part of the Land Rover Account team, develop and maintain a React single-page application which enables Land Rover customers to securely manage their contact details and marketing preferences. Built responsive, reusable React components, integrating with multiple REST APIs to deliver secure, reliable customer account functionality, with a focus on usability and accessibility.
Led the development of a shared authentication library using OAuth/OpenID Connect (OIDC), creating a reusable authentication solution for multiple Jaguar Land Rover applications. In the absence of an integrated test environment, designed and built a lightweight sandbox application to run end-to-end tests against core authentication flows.
As part of the authentication library work developed a local Node.js/Express based OIDC/OAuth identity provider, reducing reliance on third-party services, improving developer productivity, and enabling other teams to integrate and test authentication flows before external identity providers were available. Use of the local identity provider during development has reduced external authentication calls by an estimated 80%, removing the risk of rate‑limit failures. Additionally, as it’s running locally network responses are much faster reducing the time to run the E2E tests by around 70%, speeding up development.
Working within a Test-Driven Development (TDD) environment, writing unit and integration tests to produce high-quality, maintainable code, and applied both BDD and TDD practices throughout the authentication project. Increased code coverage on legacy code in the last year by 10% as well as ensuring 90% unit-test coverage for all new work.
Bike Club
Jan 2023 — Aug 2024
Worked on the migration of the UK store from a Shopify site to a headless e‑commerce architecture, reconstructing the UI with React and Next.js, retaining Shopify as the back-end.
Led development of the new product pages and played a pivotal role in building cart, exchanges and cancellation journey, working closely with the UX/UI designer to deliver the new customer experience. The improved exchange and cancellation functionality massively reduced emails to customer support, and increased customer retention by 20%.
Developed unit tests using Jest and React Testing Library, as well as maintaining components in Storybook.
Provided support in code reviews and mentored junior developers within the team.
Began working on the internationalisation of the UK site, bringing our sites across Europe from Shopify to one unified design system and codebase. This project and all frontend projects were unfortunately cancelled due to budget cuts, and led to me being made redundant.
SunGod
Sept 2021 — Dec 2022
Worked alongside the UX/UI designer to develop new features and updates for the site, major projects included overhauling the site's main navigation, updates to the product pages and product customiser, as well as revamping the “lens guide” on the product page. Utilising A/B testing to understand the impact of changes and optimise the user journey.
Built a separate competition sub-site, utilising Nuxt and Dato, allowing the partnerships team to create competitions with limited to no input from the tech team. As part of competition site also created a system in Node for sending transactional emails from webhooks, which dynamically created HTML emails from a combination of Vue and MJML.
Day-to-day maintenance of the main SunGod storefront site, working to resolve any bugs on the site identified from the tech team or reported from the wider business.
ITG
Feb 2020 — Sept 2021
Created competition and offer pages for Virgin Media, including a "Santa's Virtual Grotto" competition which was in conjunction with Scope, and involved working alongside Scope’s accessibility team to ensure WCAG AA compliance.
Built seminar & webinar sign-up forms and survey sites for various brands across two pharmaceutical companies (Bayer and J&J) using HTML, SCSS, and JS in Salesforce Marketing Cloud.
Developed a proof of concept for a clients in-house monthly magazine, built using React/Next.JS with Framer Motion.