years in total
JavaScript - 15 years
ReactJS - 7 years
NextJS - 2 years
Node.js - 5 years
I've held multiple tech lead roles in the Front End Development space over the years and enjoy mentoring others. I'm comfortable either as a tech lead or a senior dev.
One of my favourite and strongest skillsets. A flow state is easy to enter in when writing tests. It's also the area of expertise most developers struggle with.
I love owning the UI on projects, and enjoy the creative challenge that comes with building beautiful software products.
I've gained hands-on experience in key industries essential for a diverse development expertise.
Specialist in building dynamic, high-performance applications using ReactJS. With expertise in hooks, components, virtual DOM, and modern frameworks, creating responsive and engaging user experiences is a breeze.
Development of scalable enterprise-grade applications with ReactJS, ensuring cross-platform compatibility, reusable components, and SEO-friendly architecture. Whether you need a new app or an upgrade to your existing system, you're covered.
Enhance your application's interface with intuitive, interactive, and visually appealing UI components. Designing front-end solutions from scratch, improving user engagement, and seamlessly integrate with any backend technology.
Upgrade your web application with improved performance and smoother user interactions. My migration process ensures minimal downtime and maximum efficiency by leveraging experience with ReactJS versions 16, 17, 18 & 19.
Integrate powerful third-party services into your application effortlessly. From APIs to payment gateways, ensure seamless integration with tools like Google Analytics 4, Stripe, Social media and more.
Crafting of modern and user-friendly interfaces using React's component-based architecture, adaptive layouts, and optimized performance techniques. My approach ensures an intuitive user experience across all devices.
Enhance your application's functionality with custom add-ons and plugins. Development of tailored solutions to extend features, improve performance, and meet specific business requirements.
Keep your application secure, efficient, and up-to-date with dedicated support and maintenance services. Handling of bug fixes, performance optimization, security updates, and feature enhancements.
Get expert guidance on your project at any stage of development. I can provide strategic consulting on architecture, performance optimization, security, and best practices to help you achieve your goals.
Some clown has overpromised and underdelivered? I see this all the time, often due to cheaper outsourced labour. No worries, I can bail you out, I'm familiar with extinguishing fires and handling a crisis.
My work is showcased daily, reaching millions of views across several top 10 websites in New Zealand.
Australia
5 years Front End Experience
United Kingdom
5 years Full Stack Experience
New Zealand
8 years Full Stack Experience
Projects still live in 2025
Refactor 8000+ unit tests from Enzyme to React Testing Library
With my expertise in React Testing Library, I was assigned the task of converting all existing Enzyme unit tests to RTL. This was a massive undertaking, requiring custom codemod operations and extensive manual refactoring.
Upgrade React 17 to v18 and Node.js 14 to v22
As is often the case, an ageing codebase that had suffered from years of upgrade setbacks had finally reached a critical breaking point, it was time to upgrade Node.js 14 and React 17. Some of the largest pain points in this process were upgrading React Router, Typescript, Webpack, iOS SDK, Android SDK and custom Cordova plugins.
ReactJS development
I developed and maintained reusable ReactJS components in TypeScript & SASS, integrating seamlessly with a Drupal CMS. Components were unit tested in React Testing Library and are in use today on mylotto.co.nz .
Upgrade to Google Analytics v4
With the release of GA4 and changes to GDPR requirements, Lotto NZ required a ReactJS developer who could confidently make site wide changes without breaking any customer facing functionality. Changes involved broadcasting complex custom dataLayer objects across iOS, Android & Web using ReactJS & Google Tag Manager together.
I was invited to join Frank Energy as a Senior React Developer on a Next.js 13 project to rebuild the frankenergy.co.nz website. My role involved Next.js development, unit testing with React Testing Library, and creating animations with Framer Motion. The project was styled using Tailwind CSS and integrated with the Agility CMS cloud platform.
I joined Genesis Energy as a Senior React Developer on a Next.js 12 project to rebuild the genesisenergy.co.nz website. My responsibilities included Next.js development, unit testing with React Testing Library, and implementing animations using Framer Motion, all within a Microsoft DevOps environment. The project utilized Tailwind CSS for styling and was integrated with the Agility CMS cloud platform.
I joined Lotto NZ as a React Team Lead, responsible for mentoring developers on the large-scale mylotto.co.nz project. My core team varied between 5-7 React developers and 3 testers. By the project's conclusion, I was facilitating an additional React team and a JavaScript test automation team.
The project was written in Typescript & React 16 managed through an Agile workflow. My duties involved ReactJS development, writing unit tests using Jest + Enzyme, code reviews, developer mentoring, managing sprints using Jira and assisting in recruiting developers.
The Paywall
The nzherald.co.nz was the first major news publisher in NZ to paywall their existing online content. This involved implementing a vanilla JS solution into an existing ReactJS codebase that also satisfied SEO and privacy concerns.
Unit Testing mentoring
The existing codebase at NZ Herald had no unit testing coverage or infrastructure. I was employed to setup testing capabilities in Jest, Enzyme, Istanbul and mentor existing developers on writing tests.
Opinion time
Some people reckon Agile is dead, but it's simply evolving. I'll continue to work in this space for the foreseeable future. After 10+ years in Agile I've seen the most success with teams who implement the following:
Update sprint/kanban boards before joining stand up