A bit about me
I've always had a passion for development, and have been expanding my knowledge for nearly 15 years.
After university I joined a web design agency as a Junior Developer and within the next five years I had worked my up to become the Head of Development. By this point I was leading on high-end development projects, mentoring, giving presentations and writing articles.
After a while I wanted to spread my wings further so I quit my job and became a contract developer. Besides doing contract work I build and contribute to open source projects and work on SAAS applications.
- WordPress core contributor
- Built WordPress plugin with a perfect rating (+25 reviews)
- Published NPM package (CSS Animation Timeline)
- Published game on the Google store and received a 4.5/5 rating with over 1,000 players
Tools I use
Python
Laravel
PHP
WordPress
Javascript/ES6
MySQL
React
Vue
Git
Linux
TailwindCSS
CSS/SCSS
Grunt
Composer
Bootstrap
NodeJS
Featured work
Multiplayer Quiz
Built primarily as a fun challenge and as something that can be fun and easy to use. This real time multiplayer quiz game was built in 24 hours across 3 days.
It uses React and TailwindCSS for its frontend, which allows the app to perform blazingly fast - scoring 99/100 for mobile and 100/100 for desktop on Google's page speed tool.
For the backend it uses Laravel along with Redis. The game state is stored and distributed to the players using Redis which allows very fast read/write speeds and simple scaling.
Once a day a cron task is executed which takes basic telemetry information (number of questions asked, how many were answered correctly etc) before flushing Redis. The telemetry data is then stored in a MySQL database.
Africa Travel Resource
I worked with a team of developers to deliver this project. I was the technical lead for the frontend and assisted in backend development.
The frontend was built using Vue and Vuex. Due to the sheer volume of content and users it was a challenge to handle scaling, caching and SEO. It wasn't possible to prerender all of the pages (around 1,000,000) and existing server side rendering solutions didn't fit our use case.
As a result I built a NodeJS application that allowed pages to be dynamically generated, cached and horizontally scaled as required.
We won several awards and nominations for the project:
- 2019 Wirehive 100 award for agency team of the year
- 2019 Drum Award for Best use of photography
- 2019 UK App award nomination for best design/UX
WP Mail Catcher
This WordPress plugin saves a copy of any outgoing email sent by your WordPress website. Allowing you to never lose a contact form submission again.
It has since been downloaded over 10,000 times and has a perfect 5 star rating across over 25 user reviews. It's also used by members of the WooCommerce core team.
Other developers have since contributed and added additional features with others reporting any issues they come across. It's around 100kb in size and is built to be minimalist and blazingly fast.