Curriculum vitae
Below are details of my skills and experience in the field. Please use the contact form to get in touch.
Sections
About me
Skill set
Education
Experience
About me
When I got my hands on my first computer at the age of 10, I was instantly hooked! I wanted to know how everything worked; I started with looking at how the computer was put together and understanding what the role of each component was.
My first PC was an old Pentium II which had been scrapped by my secondary school. I saved up for a new motherboard, hard drive, and I was finally set with my own computer at 13 where I started tinkering with MS FrontPage, occasionally switching to the code view to see how the markup actually worked. I gradually taught myself how to develop websites.
At 14, I discovered others creating dynamic websites with PHP and databases, which really began to pique my interest. I started my first real project at 15, creating a database driven file repository manager, which I released to the public and called PHCDownload on my old website PHPCredo (now defunct).
Ever since, I haven’t stopped learning new ways of producing clear, optimized code, whilst maintaining a strict adherence to best practices and standards. I especially love working on unusual projects that branch away from your typical web environment/stack. Call me cliché, but coding is certainly an art form to me! It fuels my creativity and consistently offers a new challenge.
Skill set
- Languages
- JavaScript
- Vanilla, ES6+, Node.js, TypeScript
- Next.js, React
- Solidity (Ethereum EVM Blockchain) an example Blockchain raffle game with Next.Js
- web3.js, ethers.js, Truffle, Chai, Mocha, Ganache
- GraphQL, Apollo
- PHP (OOP, MVC)
- Learning: Rust + WASM
- WebSockets; such as a NodeJS Websockets multiplayer version of The Royal Game of Ur
- HTML5, WCAG 2.1
- CSS (LESS, SASS, SCSS, Tailwind, PostCSS)
- SQL (MS, My)
- BASH
- PowerShell
- VBA for MS Access/Excel
- Basic knowledge of; C, C++, Python, Go-lang
- Basic Spanish! – (pero yo necessito más practicar).
- JavaScript
- DevOps
- AWS (establishing auto-scaling, load-balanced, high-availability environments). EC2 (ASG, ELB, EBS, EFS (and GlusterFS alternatives)), RDS, Lambda, API Gateway, S3, CloudFront, ElastiCache, Route53. Including CLI experience.
- Linode (including deployments via Terraform and StackScripts)
- Linux (RHEL, Debian), BASH, Apache, NGINX
- Varnish, HAProxy, Redis, Memcache, Couchbase, Apache SOLR, GlusterFS, CloudFlare, DNS, CDN
- Windows Server – PowerShell, Hyper-V, IIS, MSSQL
- Ansible, Docker, Terraform
- Platforms
- Methodologies
- Development
- Git, Docker, Lando, Composer, Vagrant, Puppet, DDev, DrupalVM
- TDD (using PHPUnit) Mocha, Chai
- Browser automation; Selenium, Nightwatch
- Toolchains: Grunt, Gulp, Webpack, Compass, etc
- Frameworks, libraries, toolkits
- jQuery, Twitter Bootstrap.
- I have worked with dozens of PHP extensions & libraries such as; cURL, SOAP, Sockets, PCNTL, Shared memory, Semaphore, PHPExcel, PHPMailer, TCPDF, FPDF, Smarty, Twig, etc…
- RESTful APIs; Paypal, Facebook, Twitter, Stamps.com (SOAP), USPS, CanadaPost, Moneris, Worldpay, RoyalMail, etc…
- Software
- Photoshop, InDesign, Illustrator, Premier.
- IDEs; Visual Studio Code, PHPStorm, Atom, etc…
Education
All web development and hardware skills are self-taught.
Heathside Secondary School
1997-2002
Although not at my strongest during my days at secondary school. I left with four GCSEs (grade C). Including D.T. Electronics, Information Studies, and Physics.
After leaving secondary school at 15, in 2002 I began to work part-time jobs saving up to enroll on a Computeach Certified Internet Webmaster (CIW) course. However in 2003 I was introduced by a close friend to a local company called Digital Video Systems Ltd, whose father was the director. I was given the opportunity of a position following the successful task of assembling a rackmount PC and setting it up to spec. Details of my experience and roles at DVS as a Systems Engineer can be found below.
Experience
Director, Software Engineer
WPSEO.AI (London)
(Remote) April 2023
Launching June 2023 – Fully-automated, Pay-as-you-go, Function-as-a-Service (FaaS), WordPress plugin for AI powered SEO, proofreading, layout optimisation, content translations, etc.
Leveraging; ChatGPT, TypeScript, Next.Js, Terraform, AWS Lambda, S3, API Gateway, CloudFront, and PHP.
Senior Software Engineer
Panlogic (Richmond, London)
(Office) January 2019 – May 2022
As I progressed to a senior role, I began work to further standardise development processes and developer environments, as well as provide support for in-house junior developers, and contractors.
- Built a brand new Panlogic website (from a UX Illustrator design); responsive, WCAG 2.1, and GDPR compliant in WordPress https://www.panlogic.co.uk/
My DevOps role also grew;
- Implemented and standardised a Jenkins-based automated Continuous Deployment (CD) workflow for all Drupal 8+ client environments. Which;
- Allowed developers to focus more on producing code
- Reduced the potential for human-error as a result of manual deployments
- Drastically reduced client service disruptions by replacing potentially long running maintenance windows with a friendlier short cycle read-only state. Production deployments are carried out in parallel, with failover, reversion, and automated backup processes.
- Managed and migrated client environments from legacy VPS hosting, into auto-scaling, High-Availability (HA) Amazon Web Services (AWS) ecosystems.
- Implemented and maintain Cyber Essentials certification (ID IASME-CE-019357).
Software Engineer
Panlogic (Richmond, London)
(Office) July 2017 – January 2019
Developing new projects and maintaining assorted client environments, built mainly on Drupal, WordPress, and Joomla.
Examples
- 2018 Rebranding of WCAG 2.1 AA compliant Drupal 7 site Royal National Institute of Blind People (RNIB)
- Standardised security procedures for client environments, and developer access.
- Established an AES-256 Password/CMDB management system for all staff.
- Migrated to SSH key access (CMDB delegation), through VPN-based firewall rules
Freelance Web Developer
February 2010 – present
I have worked on many short-term WordPress projects; from developing & maintaining custom plugins on existing sites, to building complete sites from the ground up, and other proprietary web projects for in-house use.
- Apolline Terrier, Alliance Evenement, Sun Design, Nourritures Blog
Brought the designs from Photoshop to a complete WordPress installation, content migration and SEO while working with WebCrafters. - Smoke Screenz
Worked on the custom built plugin to sample and produce overlay cigarette box designs, built on the WooCommerce eCommerce plugin..
Lead Web Developer
Paristic SARL (Paris)
(Remote) Weybridge, Surrey, United Kingdom. January 2015 – December 2015
Remotely maintained and developed the Paris based international eCommerce store at paristic.fr which was later migrated in its entirety from a Joomla and Virtuemart environment to PrestaShop 1.5 with a complete responsive Front-end redesign. This is the parent company of Voila!Stickers.
Lead Web Developer
Voila!Stickers Decoration Ltd (Canada)
(Remote) Roatán, Honduras. February 2011 – October 2015
My role was to maintain and develop the Canada based North America eCommerce store at voilastickers.com and voilastickers.ca which was later migrated in its entirety from two separate stores on a Joomla and Virtuemart environment to a single platform multi-store on PrestaShop 1.5 with a complete responsive Front-end redesign.
I wrote custom PrestaShop modules to integrate the order process with Stamps.com and CanadaPost shipping services and USPS address validation. Another module for customers to write and visualise custom text through a jQuery interface tied to specific products, which would automatically produce and send the printer files for warehouse staff to run through digital vinyl printers when an order was completed. An administration module was also written to import/export the entire catalogue into an Excel spreadsheet for large scale changes such as additional colour options.
Systems Engineer
Digital Video Systems Ltd
Weybridge, Surrey, United Kingdom. December 2003 – July 2009
My role was hardware focused; building and maintaining custom ordered computers for varying installation specifications as required by company clients. In 2006 I also migrated the company website away from full-Flash to standard HTML/JS/CSS with SEO improvements, including a real-time RMA system for clients and in-house engineers to track and record the progress of build repairs and upgrades returned to the warehouse.
From 2007 my position shifted to include the software side of the business, developing PHP based web apps to integrate with the company’s in-house designed/built hardware. This included an in-house Telnet-based software package deployment interface for the early BladeHD devices, and a web based GUI to deploy and control media playback on over 140 of the early BladeHD product range over 3G in the field.
I wrote an on-board front-end JavaScript interface (similar to WiFi router interfaces) to work with a CGI back-end for clients to interface with the in-house built BladeHD which provided functionality ranging from device configuration of identity, network, playback control, content management, and firmware upgrading.
Freelancing
eBook publications
November 2016
During 2016, I worked on a project which involved the digital market launch of four books written and produced by Rosemary Parkinson. The task was to bring the InDesign books up to standard, and split the books into volumes for the ePUB3 format in fixed-layout, ready for the iTunes, and Amazon Kindle book stores.
Publications can be found here.
Clash Cloud – A Clash of Clans statistics aggregate
February 2016
An on going project to collect and show the growth and movement of players and clans within the mobile game Clash of Clans, using their RESTful API service. This project has been collecting since March 2016, currently holding over 6.5 million players, and over 850,000 clans.
In-house booking system and flight data project
February 2015
Developed an in-house AJAX interface for a company where staff required a live view of active jobs from a Cordic booking system concatenated with RESTful API commercial flight data, these results are periodically compiled and pushed automatically to authenticated tablets in the field.
Roataxi – A real-time, community-driven taxi location service
May 2014
Started in 2014, the idea was to bring a community vetting system for taxi drivers on the island of Roatán, Honduras. As well as the ability to find active taxis on the island by allowing drivers to sign up and be found through geo-location when the web app is open on their phones. Due to 3G infrastructure limitations this project has yet to take hold.
Access VBA App – Cross referencing multiple data sources into an event system
September 2016
Created an Access VBA interface to cross reference multiple data sources. Including MSSQL Cordic booking system tables, Avaya phone records & recordings, and other smaller MSACCDBs for management purposes from a single interface.
Coconut Tree Divers
Roatán, Honduras. May 2011
Redeveloped the entire site with a strong focus on SEO for the very competitive scuba diving region in the Caribbean.