Senior frontend software engineer with a passion for UI/UX and over 17 years experience building for the web
The evolving React ecosystem has been my focus since 2018. Recent work has included forms with React Hook Form and Formik, mocking with Faker and MSW, data fetching and state management with React-Query and Redux Toolkit, animation with Framer-Motion, server-side rendering with Next.js 13 and Gatsby.
In 2006 I started out tasked with reducing the size of the CSS file for a well-trafficked Intel site, and it just continued from there. CSS3 (Sass, LESS, Stylus), BEM / SMACSS-based architecture, then js-wrapped modules, styled components, styled system, styled jsx, JSS, TSS, and lately frameworks like Chakra-ui and Tailwind
End to end with Cypress, Unit/Feature with Cypress, Jest, Enzyme, React Testing Library, visual regression with Chromatic.
Building sites for international brands like Vauxhall and Colgate gave me a grounding in semantic HTML with a mind to accessibility, SEO, scalability & unexpected localisation. The practical challenges of keeping apps and websites performant and device-agnostic. Over the years I’ve also learned (and forgotten) a bewildering array of templating syntaxes.
Talking to creatives on their own terms, translating and pulling assets out of creative comps in Photoshop or Figma, adding interstitial layouts & interactions that those don’t cover, identifying UX breakdowns early.
I usually collaborate in small interdisciplinary teams, but I value knowledge sharing via pairing and code reviews whenever possible. In my last role I had the opportunity to mentor and lead two juniors.
VS Code, Docker, Webpack, Azure, Chromatic, Yarn, NPM, Git, CI with GitHub & Jenkins, Travis and Semaphore, Jira, Trello, Fibery, Netlify.
Side projectsJun 2023 to now
To keep sharp, skill up on testing and keep abreast of the latest developments in the React ecosystem, I’ve done courses in and tinkered with Cypress, Next13, Tailwind, React Server Components and GitHub Copilot so far.
EDD LondonJul 2022 - Apr 2023
An agency role where projects included two booking platforms and a CMSd showcase site for the agency itself (which I also did the photography for). All involved prototyping components in TypeScript, React and Storybook before integrating them into a dynamic SSR Next.JS app. Lead two developers on building and integrating React components.
For a booking system project I built a UI library extending Chakra UI with custom components to take advantage of their theming system and laying the groundwork for a white label offering.
Fun new things included React Hook Forms, mocking with Faker & MSW, state and data fetching with React Query, animation with framer motion, and for the CMS content I consumed a custom Headless CMS.
Photographer siteNov 2022 to Jan 2023
Designed and built a photography showcase site in TypeScript with Gatsby/GraphQL and Chakra-UI, deploying from Git via Netlify, running polls and forms with Formik and Firebase.
FesticketApr 2021 - Jul 2022
In-house, product side role on an event ticket marketplace platform, building interfaces to increase transparency to partners on fees and sales performance. I built out a succession of portals and other components in a large mostly React / Redux codebase.
Fun new things included learning TypeScript and Redux Toolkit, testing as standard with Jest / React Testing Library, and CI/CD with Jenkins. I also integrated with React-i18next and worked on on PHP templating with Twig and PHPTal.
JollywiseSept 2020 - Mar 2021
Lead on retrofitting a legacy React and Redux-heavy content-driven site for Cartoon Network show Ben Ten with a new design, api and components for their new property Elliot from Earth. I also contributed to the Climate Champions project, styled a company Christmas quiz SPA, and built a set of React / JS dragon-themed mini games.
EDD LondonFeb - Mar 2020 / Jun 2020
I built missing React UI components for a new camera rental eCommerce site then led on overhauling the layout from desktop-specific to device-agnostic.
Rehab AgencyOct 2019 - Feb 2020 / Jun 2020
Working on a SCORM-based anti-phishing educational tool, I built 8 localisations of 6 iterations, consuming a great deal of copy in JSON form. Ended up leading the field and advising parallel projects to bring them up to speed. Used React, hooks, CSS modules, JSON, SCORM & Sketch.
YunoJunoMay - Aug 2019
Returning to this in-house product team I used React with modular scss to implement a new registration & onboarding system to their freelancer platform.
22 designMay - Oct 2018
Boutique agency role where projects included an HTML5 banner for the front page of Talk Talk, updates to an OpenCart eCommerce site, a JS 360 spinner & an interactive quiz.
KoffeeCupMay - Sept 2018
Quickly got up to speed on a legacy Angular/Cordova app that needed urgent updating for a client company conference. Updated it with a new year of content, assets & structure for an on-site tablet & kiosk deployment.
YunoJunoJul 2015 - Dec 2017
In-house role working on a platform to connect freelancers with companies. I built out an evolving UX & Frontend, tamed legacy CSS built in the startup years, and maintained an extensive design system using practical BEM, Stylus/SASS and Django templating, later moving to React.
A highlight was carrying out a platform-wide redesign with a single CSS retheme for a seamless and non-destructive transition.
MetaBroadcastJul 2014 - Jun 2015
In-house Creative Technologist in a backend engineering team, brought on for rapid prototyping, creating UIs to test and consume their extensive experimental TV-based metadata APIs for the BBC. I was also contributed to the company blog and spoke at monthly meetups.
VooDooBytesFeb 2014 - Jun 2015
Long-running team up with a small agency on a series of content-based and eCommerce sites including agreatplacetobe, Cameraworks, Heineken, Rex & Mariano, DMB represents & Blossom Hill, using Mixture, Liquid, Sass & jQ for integration to Umbraco.
Maynard MaloneFeb - Apr 2014
An agency role on a content-based Organix site, where I was quickly able to pick up Drupal and used PHP, CSS & jQ to implement new sections of the site.
VML London2012 - 2014:
Senior Interactive Web Developer specialising in responsive builds, from microsites to enterprise-level CQ builds, for Colgate, Premier Inn & Premier League.
My longest project was 6-months building a fluid mobile site that receives 500k uniques a day and 3mil in revenue a week. As the team increased from 6 devs to 20 I started out as Front-end lead then specialised to CSS and UX Lead.
I also organised knowledge-sharing workshops, was on the social media committee as tech voice, & was in-house photographer for portraits & events.
MRM Meteorite2011 - 2012:
Interface Developer building microsites for Vauxhall & Nationwide, an Intel facebook campaign, iPad site for Regus, a PhoneGap'd iPhone app for The Mall & championed responsive & parallax design.
MRM London2006 - 2011:
Starting as an Associate Frontend Developer before promotion, I worked in HTML, CSS & later jQ, reconciling the work of copywriters, designers & backend devs to produce sites, localisations & HTML emails for clients like Intel, Vauxhall, Sky Movies, MSN & MasterCard.
Away from the keyboard I led initiatives in improving communication between the tech & creative departments, and presented on company values & best practice.