Hello.
My name is James.
I’m a full stack developer with experience in multiple languages.
I’m a strong believer in producing high quality, readable code. Documentation, testing and code standards are just as important as code quality.
I first got interested in development at a young age when I saw my dad building basic websites with Microsoft FrontPage. Since then, I have been constantly learning new things myself and keeping on top of current web trends.
When I’m not developing, I can usually be found on my aggressive skates either grinding on rails or flying through the air off ramps. I enjoy binge watching series' on Netflix, playing the occasional computer game, renovating the house or tinkering electronics. I have a keen interest in electrical engineering and have completed a few related projects, such as:
February 2021 - Present | Head Of Development
My role here as one of the founding staff members was to create a good foundation of a product that could be built upon over time. I started the project using the latest versions of the technology that i use. Since them the platform has been updated to the newest versions (Laravel 9, PHP 8.2).
During my time here i’ve been responsible for building not only a SaaS product, but a development team too.
Projects I’ve worked on:
SaaS Product
PHP 8.2, Laravel 9, Laravel Vapor, AWS Lambda, Livewire, AlpineJS, Vue.JS, Redis, Stripe, Chargebee, Recurly
Over a period of 2 years, we have built a B2C product that allows customers to self-serve management of their own subscriptions. The platform has been built in a way that it works with multiple payment providers, and makes it easy for developers to add compatibility for new payment providers. One big part of the product is importing of data from payment providers so that it can be analysed by our system. This required the use of caching and managing rate limits with external services.
July 2017 - February 2021 | Head Of Development
My role at My PT Hub means I am the “go-to” person for the rest of the team. I work alongside the management team and help out a team of 6-8 developers to get things done.
My main responsibilities are to make sure things keep working in the background, mentoring junior staff and developing new features.
Projects I’ve worked on:
Front-end/mobile rewrite
AngularJs -> Vue, Ionic v1 -> React Native
Over a period of ~10 months we were tasked with the re-branding and re-writing of our software for both mobile and web. During this time, we produced a design system that was the same for both web and mobile as well as migrating web from AngularJS to Vue, and the mobile apps from Ionic v1 to React Native.
We have 2 versions of the software available; MyPTHub Classic for legacy customers and My PT Hub (V3), for new customers and those who wish to upgrade.
CLI Tool for finance
Go, Stripe
I created a very basic tool using Go to export data from Stripe for easier analysis by the finance department.
Whitelabel Apps
PHP 7.3, Laravel 5.8, React, AWS SQS, EC2, Custom AMI
I created an in-house platform that allows us to provide a whitelabel app service for our customers. A front-end application has been created which allows the support team to manage whitelabel apps.
The system has been built to auto-scale based on how many apps were to be built. This allows us to build approximately 200 android apps at once. (~1500-2000 per hour).
Club management software
PHP 7.2, Laravel 5.6, Vue, Terraform, AWS ECS, Ionic
A front-end developer and I created a platform that was used by a large, well-known gym chain.
The software enabled them at a higher level to manage all of their employees and check on performance of them. It also had an element of it for the employees to use so that they could manage their clients and provide them a better service.
Fitkik
PHP 7.3, Laravel 5.7, React, Firebase, GCP, Kubernetes
This project was to create a mobile-only platform to allow users to create fitness challenges with their friends, or join global challenges that had been created.
The platform allowed users to connect their smart fitness devices (Fitbit, Apple Health, Google Fit) to their accounts to compete in a range of challenges (Steps, Distance covered, calories burnt etc).
My PT Hub Classic
PHP 7.0 -> 7.1, Laravel 5.4, AWS, Ionic v1
Part of my job is maintaining the legacy system that we have. The API is used by both versions of My PT Hub. I started off by developing the classic platform, this included bug fixing, upgrading legacy code (ES5 -> ES6+) and adding new features. Some testing has been implemented on some of the more complex functionality that we have such as session bookings.
I have upgraded the PHP version used from 7.0 to 7.1, and I am currently in the process of upgrading to 7.4 along with upgrading Laravel to the latest version.
September 2015 - July 2017 | Developer/DevOps
During my time at Hare, I worked on a range of products, both SaaS and agency client work.
Scorpion
PHP 5.6 -> PHP 7.0, CodeIgniter 2, Java
This was the biggest, and most consistent project I worked on, we were tasked with maintaining and improving on software that focused on asset tracking for both businesses and consumers. I was tasked with managing 3 dedicated servers and multiple VPS’s which ran different software to communicate with the units that were attached the the assets that were being tracked. One of my main tasks was keeping the legacy codebase up to date and adding new features. During my time here we upgraded the PHP version from 5.6 to 7.0.
Scorpion & TomTom
PHP 7, Lumen 5.2, Vue 1, Java
With this project we created a new API that was to be used with enterprise TomTom devices. An app was developed to replicate the functionality provided for the asset tracking software but in partnership with TomTom. A web-based front-end was also created which allowed business owners to monitor their assets in real-time and communicate with the TomTom devices.
Other Projects
September 2011 - September 2015 | Developer/Digital Marketing
During my time here I created and maintained multiple client websites and worked on re-branding/marketing for multiple clients such as Stonewall, Sussex & Surrey Police and Brighton Fringe Festival.
I developed a CMS called Timberwolf (PHP 5.6 and Laravel 4.2) for use in-house to develop websites quicker for our clients and created a module system which allowed us to enable and disable features depending on the client specification.
My Main duties were:
The technology that I use on a day to day basis: