Here are some particularly interesting projects I have developed over the years. If you would like to see demos or get references please get in touch with me via the contact page.


Screen Shot 2015-04-20 at 12.54.09Screen Shot 2015-04-20 at 12.55.31Screen Shot 2015-04-20 at 12.56.28Screen Shot 2015-04-20 at 12.56.07Screen Shot 2015-04-20 at 12.56.07Screen Shot 2015-04-20 at 12.54.35

Platypus is a modular gambling platform built in PHP, Symfony 2, Sonata and Postgresql. It allows a customer to select from an ever growing library of modules in order to customise anything from a single game to a complete gambling site. Modules include integration platforms to allow various types of 3rd party or native games to run with the platform, as well as bundles of games. There are also affiliate tracking modules, various traditional payment modules, as well as modules for payment using cryptocurrencies like BitCoin. Platypus also currently provides a Haskell slot machine module that uses a genetic algorithm to simulate and generate slot machines with optimal characteristics. The platform can be fully localised via the CMS into an arbitrary number of languages.

The platform provides a fully featured admin panel built using Sonata CMS, which gains relevant features as modules are included into each site.

The code is fully tested using PHPUnit and includes automatic deployment to various targets using Capistrano scripts.

Bet Shop Roulette


BetShopRoulette is a kiosk based Roulette machine, currently installed in various betting shops and bookies across Ireland and shortly to be rolled out across the UK.  The focus of this project is on good looks, reliability, security and performance.

The system consists of multiple Flash based touch-screen roulette games (compiled into a desktop application using AIR and running on All-In-One PCs housed in cabinets), and a web based touch-screen cashier interface written in HTML/CSS/JS using AngularJS and PHP with Silex and DBAL on the backend.  The game server is written in server-side Actionscript and runs on Adobe Media Server 5.

The promotional site for the product can be seen here.

Vulcan Interactive


Vulcan Interactive is a real-time tool that allows legal teams to simulate trials in order to gather detailed data about how jurors react to certain arguments and issues. Trials are either held in hotels or conference rooms, or with jurors connecting remotely, or a combination of the two.

The client-side software is built in Flex, with the backend built using PHP and MySQL. Real-time data is handled with Wowza Streaming Engine extended by custom Java plugins. We run a cloud of servers in order to support the requirements of this distributed system, and deployment and management is handled by Capistrano and Chef.

More information is available at First Court’s website.

Pilsner Urquell Global Website

In order to promote and market Pilsner Urquell’s brand and product I assembled a team of two developers and a designer to build a global website. The site was completely configurable across the company’s various regions via the CMS (at the time this consisted of Finland, Germany, Hungary, Italy, Poland, Spain, Sweden, UK and USA) allowing countries to share or customise content as required. The site contained various multimedia including video and interactive games. During the lifetime of the project various promotional features were requested and implemented, including competitions and

The site was implemented using PHP and Silverstripe, with a MySQL database on the backend. As well as the HTML site there was also a more multimedia rich Flash version of the site, running off the same data via XML adapters.

Road to IELTS for iOS and Android


The goal for this project was to take the original Road To IELTS project and make it available for iOS and Android devices.  Since the original project was developed in Flex we were able to use Adobe AIR (then at a very early stage!) to compile version for these platforms and release them through the App Store and the Play Store.

This project was mainly based around Flex Mobile and AIR but also involved many targeted optimisations (both graphical and code-based) to maximize performance on these mobile devices.  It also involved some clever use of web vs mobile Flex in order to maintain a consistent codebase between the two versions, whist styling them in such a way to stay consistent with iOS/Android design guidelines.

The techniques developed during this project have been standardised and extended so that all Clarity products are now available on the web, iOS and Android devices.

Read more about the mobile version of IELTS at

The application is available in the Apple App Store and the Google Play Store.

Road to IELTS

Road to IELTS is a project developed in collaboration with Clarity Language Consultants and the British Council which provides students with a comprehensive online preparation course for taking the IELTS (International English Language Testing System) exam including different types of exercises, progress reports, mock papers and more.  This project motivated the development of Bento, a frontend and backend framework that now underpins many of Clarity’s new products.

This software is in use at universities and colleges all over the world.  See more at

For technologies, Road to IELTS uses PHP and MySQL and the frontend uses Flex 13.0, PureMVC and AMFPHP for client-server communication.  The exercises are rendered using our own branch of the Adobe Text Layout Framework (TLF) which we have massively enhanced in order to support a large subset of CSS and additional HTML elements including form and audio/video tags.  We have also developed a dialect of XHTML which describe both the appearance and functionality of exercises and quizzes.

Road To IELTS was awarded ‘Best SME ICT (Product) Award’ in the 2014 Hong Kong ICT Awards, with judges highlighting its “robust and elegant” technical infrastructure.

Clarity Results Manager


Results Manager is a massive Flex 3, PureMVC, PHP and Microsoft SQL Server project, and allows hundreds of Clarity customers to manage thousands of students.  The application also controls access and collates results to the rest of the Clarity suite.  Report generation is managed using XSLT stylesheets.

Nike Team Kit Builder


This was a very large AS3 project application developed for Nike in conjunction with RGA London. It allows the user to design and build matchday and training football kit for their entire team.  The completed application was first made available as part of an exhibition on the first floor of Niketown, Oxford Street, London, then later converted into an online version.

The project made use of AS3, Flash, a custom MVC framework developed specifically for the project, XML and E4X, Papervision 3D, Blender, PHP, AMFPHP, MySQL and Smarty.

Nurofen Pinball

Screen Shot 2015-01-23 at 14.59.50Screen Shot 2015-01-23 at 15.01.50Screen Shot 2015-01-23 at 15.02.18

This was an Actionscript 3.0 pinball simulator built for Nurofen to promote the release of their new ‘Nurofen Express’ pills. The project makes use of real-time physics and has a very tidy object-oriented design allowing the addition of new tables and objects.  It is a fully featured table based on classic pinball games like Pinball Dreams, with bonus multipliers, extra balls, multiball, jackpots and much more.