Sustainability Tool supplied to the Australian Government

A web application used by government officials across Australia to benchmark companies’ sustainability. Extensive configurable questionnaire and sustainability algorithms are used to produce PDF and graphical reports.

Data Messaging and Communications Ltd

Voice Over IP management system programmed in Zend Framework, MySQL5, Bootstrap CSS, Ajax and jQuery. Multiple APIs to rate providers, summary reports created nightly, graphs, system calls to VOIP system. I have built and maintained this web application for the past 5 years.

Frog Education Ltd

Worked as a Senior Developer to assist with new education projects and bug fixing. Work included troubleshooting errors on the single page layout and optimising database queries.

Wales Deanery Medical Appraisal Revalidation System

Complete Medical Revalidation system for Doctors and Consultants across Wales. I was lead developer on this project for 4 years and was responsible for the system design, build and maintenance.

Logical Elements

I work as a Zend Framework trainer for Logical delivering both class based and online training.

Umi Hotels

Extended the original platform, written in CakePHP


http://www.myzones.de Built the entire web application for this wireless hotspot provider.

Property API Development

Developed an API between Estate Agents and Property Legal advisers to facilitate lead generation. Programmed in the Slim Framework and using Swagger to generate documentation and the testing interface


Developed this car rental comparison application, which fetches and collates realtime car rental prices from major providers


It Helps if your Developer is DRY

I hear you say "I wouldn't want to employ someone to build my website whilst inebriated but they don't have to be teetotal". To be...


Keeping the Report Logic in the Database

Imagine that we have a very simple non-relational table for apartment bookings as described below. CREATE TABLE `apartments_bookings` ( `apartments_bookings_id` int(10) unsigned NOT NULL...


So what is AJAX?

You may have heard in tech conversations phrase such as "it will use lot's of AJAX" or "will it be using AJAX for a single...