Senior Web Developer
I have been working almost entirely remotely since 2012 when I moved from London to Devon.
* All projects remote unless otherwise stated
Q2 2022 to Q1 2023
Working as part of a small team of highly experienced developers to make large changes to the Hubble HQ site. We worked closely alongside Hubble's internal engineering team. The site front-end is built in NextJS.
Lead Frontend developer at Crearty
Q1 2020 to present
Building a custom greeting card creator web application in React for both desktop and mobile.
TypeScript, React, Redux & Redux Saga, Responsive, GitHub Actions, Storybook
Q2 2020 to Q3 2021
Leading a small team to build an app to replace their existing PWA with a React Native app for iOS and Android.
TypeScript, React Native, Google Firebase, Expo, Adobe XD
Senior Frontend Developer at Rise
Q3 2019 to present
Building a large progressive web app for the employee platform at Rise. A large application built using React, Gatsby, Redux and Redux Sagas. All built in TypeScript.
TypeScript, React, Gatsby, Redux & Redux Saga, Responsive, Material UI, PostCSS, CircleCI, Netlify, Storybook, Sketch
Lead Frontend Developer at Zero Deposit
Q2 2017 to Q4 2018
Initially building Zero Desposit's UI Component framework for consumption by their Python/Django app and later reworking from the ground up for their first React based product.
Pyhton, Jinja2, PostCSS, ES6, Code splitting, AWS, CircleCI, Sketch, Storybook
Q3 2018 to Q1 2019
Technical lead on React SPA for tenants to sign up for Zero Deposit policies, deciding application architecure and pairing with junior developer to guide them through the initial project setup and structuring process.
All the UI components were built in Storybook for rapid reuseable component development, all tests for these built with Jest. The main app was then built quickly using existing components, React, Redux and Formik to manage the lengthy forms.
React, Redux, Formik, Storybook, Styled components, ES6, CircleCI, Netlify, Jest, Responsive, Mobile first
Technical Lead at Drop (getdrop.com)
Q3 2017 to Q1 2019
Technical lead on internal/partner white-labelled React SPA app for the adminstration of their kitchen automation systems. Starting from a vague brief to create an admin interface to match the endpoints in their large and well documented API. The app had to be themeable so it could be adapted to third party kitchen appliance manufactuers requirements and seperate systems.
Redux-saga was used as it offers a really clean way to handle both chained and concurrent API requests when making bulk edits. All Sagas were tested with Jest to ensure their effects on the redux state remained consistent throughout development.
In readiness for multiple developers joining the team, the project workflow was set up with
husky to ensure all tests and linting passed before any code could be committed to ensure code quality.
React, Redux, Redux-saga, ES6, Material UI, Styled components, Jest
Lead developer at BuRP app
Q2 2016 to Q4 2016
BuRP was a startup with the ambition of connecting new parents to help them share tips and advice with each other and also a platform for the promotion of products and services relevant to new parents.
The app was initally built in Cordova with React, Redux and CSS Modules, but later rebuilt in React Native. Unfortnuately the startup failed to gain enough funding before an MVP was released :(
React, React Native, Redux, CSS Modules, Cordova, Sketch
Senior Front-end Developer at ACS Solutions
Q4 2014 to Q4 2015 (on-site)
Lead on front-end development of a large enterprise app for legal companies to look up details from the Land Registry API. This was a significant challenge as TypeScript was still in its infancy and JSX was yet to be supported, however given the scale of the application TypeScript was a neccessity, especially as the rest of the team had a long history with C#.
React, Flux, TypeScript, Microsoft Azure
HTML Deep knowledge and able to create clean, concise markup
CSS 3, Sass, Less, PostCSS & BEM Expert understanding
CSS performance optimisation Good knowledge
React, Redux, React-Native Most of my work the past 5 years has been react based
Jest testing Familiar with TDD and writing stringent tests for applications
GatsbyJS Good understanding for both static and hybrid static SPA apps
NestJS, Express REST API creation Good understanding of the TypeScript Node platform
MongoDB, Mongoose, Typegoose Good understanding
Npm, Yarn, build workflows Lots of experience with various tooling
jQuery, Handlebars, Pug Lots of experience
Backbone, Backbone.Marionette 5+ projects with these two frameworks
Python, Django, Jinja templating Worked on a couple of projects, proficient
C Used to writing firmware for custom keyboard and arduino projects, proficient
C# Used in some small experimental projects with Unity
PHP, Laravel, Wordpress Intermediate understanding
Git, GitHub, BitBucket Years working collaboratively and remotely, great CLI understanding
JIRA, Clubhouse etc Lots of experience
Photoshop & Illustrator 20 years using both
Sketch Good knowledge of both designing and producing assets
Blender Modelling, and IK animation setup for use in Unity Engine
APIs Google Maps, Leaflet, Mapbox, Strava, Instagram, Facebook, Dropbox, Campaign Monitor
Agile, Shape Up Familiar with all styles of working
- 2006 to present: Founder/Freelance developer, Pixelbreaker Limited
- 2009 - 2011: Creative Technologist, Pirata London
- 2003 - 2006: Lead Developer, de-construct Ltd, London
- 2000 - 2001: Web Developer, dotMedia, Hong Kong
- 1997 - 2000: Web Developer, Deepend, London
- 2001 - 2003: Diploma, Japanese language, SOAS, London
- 1994 - 1996: National Diploma, Electrical and Microelectronic engineering, Exeter College, Devon
- 2015: Finished 40/170 Tour Divide ultra-endurance mountain bike race, 2750 miles (4420 km) unsupported from Banff, AB, Canada to Antelope Wells, NM, USA. Finished in 21 days 16 hours and 14 minutes.
- I have designed and built several custom keyboards for my personal use, designing the case and 3D printing, and hand wiring the key matrix and writing custom firmware in C using the QMK library.
- Side Project to create a web app for live tracking racers in multi-day ultra-endurance events using SPOT/Garmin satellite trackers.