Technology consultant based in Surrey

Specializing in RESTFUL APIs, DevOps, Linux Administration, and IT solutions.



With over a decade of experience in developing PHP-based websites and CLI tools, I have created numerous open-source libraries and tutorials. These contributions have enabled me to develop services quickly and efficiently. My specialty lies in designing and building complex platforms using RESTful APIs that integrate seamlessly.

View related posts


I have been using Linux in production for over a decade, primarily preferring Debian and Ubuntu distributions. Additionally, I am familiar with using Amazon Linux. In 2012, I transitioned completely from Windows to Linux for all my personal desktops and laptops. Linux is the foundation of my work.

View related posts


I have been using AWS in production for the last 7 years and during this time I have built open source PHP packages for streamlining development in PHP and performing more advanced application logic such as spinning up servers to perform batches of work on-demand. I am very comfortable with managing accounts through the web console, and with automating deployments through the use of Terraform. Experience with EC2, S3, RDS, Cloudfront, ECR, IAM and Elastic Transcoder.

View related posts

DevOps / Docker

All software is built with Docker.

Experience of building pipelines to deploy docker-based applications, in both GitLab, and Jenkins with the use of Docker registries, Terraform and AWS EC2, ECR, ELB.

I have found that setting up pipelines for automated deployments dramatically improves the workflow of development teams.

View related posts

KVM / Proxmox

Where cloud-based hosting solutions (such as AWS) may not be desired, I can physically build, set up and manage dedicated servers that allow the deployment of virtual private servers using KVM, optionally through the use of Proxmox if an easy-to-use web-GUI is desired.

Experience with remotely setting up KVM dedicated servers on Hetzner.

View related posts

MySQL / MariaDB / PostgreSQL

I grew up using MySQL and MariaDB, but in recent years I have been switching to PostgreSQL wherever possible. I find its additional capabilities incredibly useful, but clients usually either already have MySQL databases set up, or just want MySQL for other reasons, so I fully support both. The same principles apply to both, but it's important to know the subtle differences.

Experince includes managing database through AWS RDS.

View related posts

Apache / Nginx / Caddy

I support a variety of webservers. The two primary choices are Apache and Nginx, and I am proficient in configuring both. I prefer using Nginx for RESTful APIs due to its performance. However, Apache is a convenient solution for setups that expect .htaccess files, such as Wordpress, PhpBB and OctoberCMS. Additionally, Caddy is an excellent new web server technology that is easily configured to provide advanced features for free, such as load balancing with health-checking.

View related posts

TypeScript / JavaScript

TypeScript is the second best technology to come out for the web in the last decade. The best was Docker. Being able to write Object-oriented code is a huge blessing.

View related posts


I am comfortable using both LESS and SASS, and whenever working on any personal project, I always use one or the other. I do not pitch myself as a "frontend developer" but one always ends up needing to dive into the frontend to tweak a few things.

View related posts

Geospatial & GIS

I have experience working with GeoSpatial data in both MySQL and PostgreSQL before creating various maps in MapboxGL, Google Maps, Leaflet, and Open Street Maps.

View related posts


Need a custom website, or a change to your existing website/hosting? Need your own dedicated mail server or a self-hosted Dropbox alternative? Perhaps you need a storage cluster that can store petabytes of data? If you have an IT or development problem, I probably have a solution.

Please email me at and review my Terms of Service ( | ). If there is anything in there that is problematic, please raise it and we can probably come to an agreed adjustment.