You can call me on 07480924132, email me at hi@leakypixel.net, or see additional details at leakypixel.net.
I'm an experienced and adaptable full-stack JavaScript engineer with over 18 years of hands-on work delivering modern, performant, and accessible digital services. I've led cross-functional teams, replaced legacy systems at scale, and designed human-centred solutions grounded in XP, Agile, and value-delivery principles. I work closely with stakeholders across product, design, and ops, and I'm always looking for ways to improve development processes and system architecture. I'm particularly passionate about mentoring, observability, and infrastructure-as-code practices that support robust, scalable delivery.
October 2024 - June 2025, fully remote
Brought in as part of a small, specialist consultancy team to help improve Timeout.com's site performance, developer experience, and overall delivery velocity. Focused primarily on the JavaScript/TypeScript codebase, but also collaborated across a broader tech stack including Python and e-commerce systems. Highlights included:
Skills used: NodeJS React TypeScript Apollo Next.js Koa Hapi Playwright Storybook Python Django GraphQL Yarn Sentry AdTech
October 2023 - September 2024, fully remote
As part of a small, highly commerically-driven team, took up various initiatives and improvements, alongside day-to-day BAU retail work. Initially, this started as a pure front-end role but evolved quickly into a full-stack role, owning the entire process of a service from design to production support. Some of the more noteworthy tasks included:
Skills used: Vue CompositionAPI GraphQL NodeJS Pinia TypeScript Yarn ESBuild pkg Fastify MongoDB Shopify Shopify-Plus Liquid Storybook Cloudinary Docker Ansible Azure Swagger OpenAPI React-remix
August 2022 - October 2023, fully remote
Worked on and led various business-critical initiatives, including:
Skills used: Vue CompositionAPI GraphQL NodeJS Vuex Vite Ember Pinia TypeScript Yarn AWS S3
June - August 2022, fully remote
Skills used: React React-hooks GraphQL NodeJS TypeScript NPM Ramda Jotai URQL Hasura AWS S3 Lambdas
March - June 2022, fully remote
Worked with a small to medium sized team to develop new features and improvements to the client application, using Vue, Pinia, Vuex and Ramda. Application performance was paramount, and involved heavy use of large datasets and graphing libraries.
Skills used: TypeScript Vue NPM HighCharts WebPack Pinia Vuex Ramda PostCSS Jest Cypress
September 2021 - March 2022, fully remote
Worked with a medium sized team to refine and develop a cross-platform app to allow customers to manage and analyse their penfold pension. Primary responsibilities included finding and fixing complex multi-layer bugs, developing new features to match stakeholder specifications and performance analysis and recommendations.
Skills used: TypeScript React NPM WebPack Babel React-Hooks NextJS NodeJS Apollo Jest Cypress
October 2020 - September 2021, fully remote
Architected and led a 3-person front end team, replacing an underpeforming angular site with a fully modularised and modern react-based solution for a high traffic betting company based in South Africa, as well as upskilling the existing development team into the react ecosystem. As part of the team lead role, updated key stakeholders and discussed design of the solution with appropriate people within the business. Worked closely on a project to move non-private data to static storage (S3) in order to improve performance and lower costs.
Skills used: TypeScript React Docker NPM WebPack Babel React-Hooks React-Sagas AWS S3 Lambdas
April - October 2020, fully remote
Worked as part of a 10-person team to deliver new functionality to a greenfield implementation of a high-traffic sports betting website, using VueJS and Vuex.
Skills used: TypeScript VueJS Docker NPM WebPack Babel Vuex
January - April 2020, fully remote
Worked as the lead developer with a small (3 person) team on a complete rebuild of a React and TypeScript component based whitelabel system. Built an MVP with functioning cross-module themeing, configuration injection and a reference implementation as the sole developer, which was reviewed and discussed with the technical and design team on a continual basis.
Skills used: TypeScript React Docker NPM WebPack Babel
2019 - AKQA - JavaScript consultant (6 months, fully remote)
2018 to 2019 - Erlang Solutions - JavaScript consultant (9 months, fully remote)
2018 - The Co-op Group - JavaScript consultant (6 months, part remote)
2017 to 2018 - Life's Great - JavaScript consultant (6 months, part remote)
2017 - Tyres on the Drive - JavaScript consultant (12 months, onsite)
2016 - The Hut Group - JavaScript developer (12 months, onsite)
2015 - Bet365 - JavaScript developer (6 months, onsite)
2013 to 2015 - On The Beach ltd. - Front end developer, Permanent
I'm sometimes lucky enough to get to work on small projects, which can be quite varied. A few of my favourites have been:
2024, fully remote
Brought in as a one-person consultancy to lead the design and development of a bespoke production tracing portal for a global manufacturing firm. The system allows stakeholders to track the full lifecycle of an order - from initial request through to factory assembly and final shelf delivery. Worked closely with a single in-house developer and multiple non-technical stakeholders to define scope, timelines, and technical architecture.
Skills used: Vanilla-JavaScript .NET/C#
2023, hybrid remote/on-site
Brought in to develop an augmented reality-style display application for a global footwear brand, powering an in-store installation that overlaid animated graphics and text onto physical products using a transparent screen. Inherited a legacy Erlang-based platform from a previous vendor with no documentation or handover, requiring extensive reverse engineering and infrastructure updates.
Skills used: Erlang JavaScript Linux Kiosk-Systems Reverse-Engineering Deployment Automation Accessibility AR-Display-Systems Systemd Bash
2023, fully remote
Worked with an early-stage startup to deliver a cross-platform time tracking application targeting mobile and desktop users. The project focused on rapid iteration and delivery of core features across platforms using a unified codebase.
Skills used: Vue.js Quasar Capacitor Cordova JavaScript Cross-platform Mobile-App-Development
2022, fully remote
Collaborated with a small team to deliver a mobile-first, video conferencing platform tailored for interactive entertainment events. The platform leveraged open-source tooling to enable high levels of audience participation, targeting the unique needs of a performing arts organisation. Took a lead role in DevOps and infrastructure, owning the entire deployment pipeline and live service delivery.
Skills used: Ansible AWS EC2 Lambda Route53 Docker GitHubActions CI/CD DevOps Linux Nginx Node.js WebRTC
2022, fully remote
Collaborated with a startup to design and develop a bespoke device for the secure decommissioning and backup of spinning disk drives, targeting enterprise data destruction and archival workflows.
Skills used: Hardware-Integration Secure-Storage Automation Linux Bash Low-level-DiskOperations
2021–2023, fully remote
Worked with a range of early-stage Web3 startups to deliver dashboards, dApp interfaces, and blockchain-integrated web applications. Projects often involved rapid prototyping, direct smart contract interaction, and bespoke API development.
Skills used: Web3.js Ethers.js JavaScript React Smart Contract Integration dApp Development Ethereum JSON-RPC
Ongoing (various projects), remote
Delivered a mix of Shopify reskins and full custom builds for small to medium-sized businesses, balancing performance, usability, and business needs. Projects often required integrating rich client-side functionality with the constraints of hosted platforms.
Skills used: Shopify Vue.js Liquid JavaScript HTML/CSS Analytics Integration GA GTM E-commerce UXi
I've around 16 years experience with JavaScript, and consider myself highly proficient. I take an active interest in new developments, often spending my free time checking out new features and frameworks.
In the past few years, I've taken a keen interest in devops-related skills. Initially, this started as a passion project to containerise and self host infrastructure, but quickly developed into managing the full stack in my commerical roles.
Developing the front end of a project was my main focus for many years, picking up a history of tools and techniques. It's still something I find very satisfying, especially in first iterations of products.
I've also picked up a few odds and ends that don't fit anywhere else, often from interested coworkers or personal projects.
Working on many projects has given me contact with quite a few back end environments, with varying degrees of depth.
My latest references/recommendations can always be found on my linkedin, but here're a few recent ones:
September 2024
I am pleased to recommend Craig, who was a great addition to the team. From the first day, Craig demonstrated a high technical ability and during his time with us, punctually delivered several key projects.
Craig is very hands-on and efficient. He's keen to gain an understanding of the bigger picture and apply his proven experience to deliver considered solutions and raise the correct questions to help steer directions of technical work.
His adaptability and vast knowledge is an asset to any company. He's able to both own new projects and understand existing codebase with ease. It was a pleasure working with him!
November 2023
I worked with Craig for over a year, very closely on a complex, high-stakes project involving Vue, GraphQL and such, with a lot of technical debt. First of all, it is a joy to work with and talk to Craig. He is very knowledgeable, intelligent, empathic and efficient. He not only managed to analyze the situation clearly, he also proactively suggested and made major improvements to the code base and was able to clearly communicate and explain it even to non-tech people.
We/I will dearly miss working with him and he was only "released" due to unrelated business decisions. Highly recommend hiring Craig, you will not regret it!
I have quite a few hobbies outside of my development work, and try to keep myself as active as I can - summer or winter!
Working in digital means I'm especially concious of getting some "green time", from kayaking to hiking to exploring the odd underground bunker - I generally do a variety of things over the month, and in 2024 managed to cross off all 23 MBA bothies in Wales and England (I'm working on the ~80 in Scotland...)
Being interested in the DIY/open-source side of things, I attend events and spend a fair amount of time creating things myself - steel-framed furniture, a few hand tools, my own hammock... whatever my magpie brain has latched onto this week. I've not got around to presenting most of these at an event yet, because only the less interesting projects are ever truly "finished". That's right, I kaizen my own hobby projects, we're on hammock v1.7 at this point I think?
I also spend quite a lot of my free time tinkering and working on personal projects, such as building raspberry pi based camera systems, monitors, or arcade systems. I'm also passionate about self hosting as much of my personal infrastructure as I can (talk to me about this!) and dockerising all the things.