My Work

During my career I've worked on a plethora of websites, taking care of front-end, back-end, database design & implementation and server administration work.

I started off as a junior web developer at A Shade Greener, working with the marketing team and Managing Director to build websites and marketing campaigns, successfully growing the company to become the UK's largest installer of free solar panels. During my time there I continuously improved my skills while advancing to the role of lead developer.

Since then I've been the Head of Development at an online marketing & lead generation company started by myself and some colleagues, before moving onto a senior development position at a Design & Print Agency.

Below is a selection of some of the websites I've worked on, with highlights of their notable features.

Rethink Web2Print

I've weas responsible for a large amount of work on Rethink's custom-built Web-to-print platform, which combines e-commerce development with heavy use of an API created by Xerox to interact with their FreeFlow Core platform to send online print jobs directly to press.

Features include:

WordPress & WooCommerce used as a base for e-commerce features.
FreeFlow Core API
Heavy use of Xerox's FreeFlow Core API to send artwork and print instructions directly to the press queue.
Automatic Artwork Checks
Using a combination of ImageMagick and FreeFlow Core's API, artwork is passed through a 'pre-flight' check to analyse print compatibility, and provide feedback, as well as generating print-ready 'autocorrected' versions.
FreeFlow Core utilises the JDF/JMF XML format for interfacing with Rethink's press hardware. To make this an easier process, I created a basic PHP library to create files and handle sending/receiving of messages.
Rethink Media Website Homepage Screenshot

Rethink Media Website

I worked with the design team to rebuild the Rethink Media website shortly after my arrival. The primary focus of the redesign was to bring the website up to speed with a new look and full cross-device responsiveness.

The website was built using the Slim PHP microframework and Zurb Foundation front-end framework for rapid development.

Features include:

Updated backend
The website was updated to use the Slim PHP microframework for speed and better abstraction of functionality.
Templating Engine Implemented
The Twig templating engine was also used, allowing reusable components to be created for easier updating of repeated elements.
Mobile optimised
Fully responsive across devices, as well as loading differently sized images on appropriate devices for optimised speed, quality and data usage.
Rethink Media Website Homepage Screenshot


A custom-built Customer Relationship Management system to allow A Shade Greener Money to manage loans.

The system was built using Laravel 5.3 and Vue.js to allow for seamless in-page editing and addition of information.

Features include:

Task system
Users can attach tasks to existing loans and assign a user to be responsible for that task. Notifications are automatically sent to assigned users.
Export loan data to document template
A summary of loan data can be exported to a Word document, PDF or saved to Google Drive in one click.
Notes system
Easy to use notes system. Add or edit notes without leaving the page.
Filter loans by status, date added, amount owed etc. All results can be exported to document template simultaneously.
ASG Money CRM Homepage Screenshot

ASG Energy Comparison

Custom built energy comparison site, using UKPower's API and combination of cURL and custom JavaScript & AJAX.

Created with ease-of-use in mind. The form is simple, easy to follow and loads in a state which can be submitted without changing any options.

API Usage
The form uses UK Power's API to retrieve suppliers for the user's postcode area via cURL before the page renders.
Dynamic Form
AJAX requests are used to display contextually relevant data, such as a supplier's list of tariffs, based on the form's current state.
SVG Sprite
Icons are loaded using a Gulp-generated SVG sprite so they can easily change colour with a simple change of class.
ASG Energy Comparison Website Form

Last Minute Solar

Lead generation landing page & accompanying form.

One-tap registration
We sent an SMS to previous solar panel applicants containing a link to re-register their interest in one tap using a unique URL identifier to retrieve existing database information.
Last Minute Solar Website Homepage

Best Boiler Deal

Landing page & accompanying multi-step form.

Postcode address lookup
Form contains a postcode address lookup with manual entry fallback in case of errors.
Affiliate integration
Leads are automatically relayed to affiliates using background tasks. No waiting for long response times from an external API.
Best Boiler Deal Website Homepage

A Shade Greener

The main business venture of A Shade Greener Ltd. I was responsible for maintaining and updating the website. If we have any new marketing ideas, changes to the application process or updates for the customer login system I'm the man that makes them work.

I've worked on several designs and revamps of the ASG website over the years, from the original solar panel application site to a more recent home-savings-based variant.

Some of the site's more prominent features have been:

Social networking APIs
Implementation of Facebook, Twitter and Google+ APIs to fetch likes, followers etc.
Automated location finding
When submitting an application, customers' precise locations (latitude and longitude) are automatically searched for via a back-end system based on their street address and postcode.
Multi-friend referral
AJAX form to easily send referral emails to multiple friends at once to earn rewards.
Dynamically ranked FAQs
Visitors to the site were able to give feedback on our FAQs page. These questions were then ordered by ranking so the most useful questions appear first.
Automatically expiring job vacancies
Using a combination of data from a database and CSS classes dynamically set with PHP, job vacancies automatically expired.

ASG Home Homepage Thumbnail

Everlasting Boilers

As well as solar panels, ASG also branched out into boiler installation. I've built several versions of the company website from scratch using PHP, Laravel, HTML, CSS/SCSS and jQuery.

Although I'm no longer responsible for the existing version of the website, I did implement some interesting technologies in older versions of the site.

Time-based form functionality
Application form which behaves differently depending on whether the office is currently open, instructing customers on when they will receive a callback.
Location-based content
Display phone numbers with a local area code based on pre-set query string data.
Device-based CTAs
Device-based dynamic content, focusing on having the customer call us if using a mobile device, or request a callback on tablets and desktop computers.
Using Modernizr as a shim for HTML5 support in older versions of Internet Explorer, as well as some CSS based on browser feature detection
Javascript Tooltips
I created a tooltip-style enquiry form which expands from a banner CTA button
CSS3 With Fallbacks
Some elements of the site, such as circles primarily use CSS3 and fall back to more compatible methods in unsupported browsers.
HTML5 Video
Footer video playing on loop in HTML5-enabled browsers wich falls back to a still image in non-supported ones.
Customer Reviews
A reviews page which fetches and sorts reviews for each team of installers from a database and displays them appropriately.
Everlasting Boilers Homepage Thumbnail

ASG Money

The original website for a now-updated branch of A Shade Greener. Built on the premise of crowd-funding investments for free solar installations with the promise of a high interest return for the customer.

The back-end was fully developed using Oject-Oriented PHP by myself with the Slim micro framework modified to work with an MVC pattern.

Interesting features include:

Email Confirmation
When a customer registers their interest in investing, an email with attached information document is automatically sent to the email address they registered with.
Complex and secure application process
The entire application process has been built with multiple levels of security including SSL, securely hashed/encrypted application data, Blowfish encrypted passwords and encrypted cookies for user authorisation.
Full front- and back-end validation
All user-filled forms include full JavaScript and PHP data validation implemented with reusable, data-agnostic classes.
Automatic identification checks
Integration of an ID/fraud checking API is in progress to perform automatic checks of user-submitted applications.
Payment integration
The site has a full payment system implemented via WorldPay with back-end validation and authorisation of the payment response.
Custom built admin panel
Used to gain secure access to customers' application details and verify/reject application.
ASG Money Homepage Thumbnail

ASG Biomass

On top of solar panels and boiler for homes, ASG has also provided free commercial biomass heating systems.

This project had a very tight deadline so the initial website was created in just 2 weeks with all HTML and CSS and full application process completed.

Once the core site was completed additional components and JavaScript enhancements were added until the site underwent a full redesign.

Some of the original website features:

Savings counter
A dynamic counter utilising back-end data and front-end functionality
User-controllable webcam
Users of the site were able to remotely control a webcam placed in our warehouse to view us assembling the biomass units.
ASG Biomass Homepage Thumbnail

Overall / Other

As well as my web development duties, I've also worked on several other projects at A Shade Greener.

Data Management/Manipulation
Head of the massive suitable house finding initiative. Responsible for collating and reporting on around 6000 records of suitable solar properties per week
Automation of repetitive tasks

When I'm not taking care of marketing-related web development I use my powers for good in other departments. If I'm aware of a task that could be automated or improved I'll do what I can to write a program or script to take care of it.

One example is a slow, unreliable screen-recorded macro that was run to submit and extract data from an online calculator. Using PHP and cURL I wrote a script which reduced this task from taking several days to being completed in under an hour.