AMD Simulator
Royal College of Ophthalmologists Annual Congress 2015

For use with a Google Cardboard compatible Virtual Reality (VR) headset, the AMD Simulator demonstrates to the wearer the effect that Age-related Macular Degeneration (AMD) has on vision.

The challenge for this app was to apply a swirl distortion to the captured image, together with an alpha-blended overlay, whilst maintaining a high frame rate. I achieved this by implementing the transformations in RenderScript - a high-performance computation framework for Android. An intrinsic script was used to convert the captured image to RGB, and I wrote a custom script to apply the swirl.

Nuffield Health

Rebalance provides a daily mindfulness 'workout': helping users to improve their technique, and overall wellbeing.

In addition to ensuring that the app looked its best on a range of phone handsets and tablets, I wrote a custom high-performance sliding Discrete Fourier Transform (DFT) that allowed heart rate data to be accurately determined simply by holding a finger over the camera and flash. The DFT was efficient enough to be implemented entirely in Java.

Foundation Lab
Nuffield Health

Foundation Lab is the companion app to a 3-week instructor led course enabling participants to learn and practise mindfulness - a technique that is growing in popularity. Available to their corporate clients, and delivered by a partner company, it offers a wealth of useful daily mindfulness exercises.

Contacts CardDAV Sync

Contacts CardDAV Sync is a flexible and powerful way of syncing contacts between devices and public or privately-hosted servers that support the CardDAV protocol, such as ownCloud or iCloud.

It is much more flexible than a simple Android sync adaptor: providing finer-grained control over details such as specific WiFi networks to use, and allows users to sync contacts between any local contacts account and any CardDAV server.


The implementation of a European Court of Justice (ECJ) ruling in December 2012 means that insurers may no longer use gender as a proxy on which to price insurance premiums. is one of a number of organisations within the insurance industry that are now looking to telematics to provide a more accurate measure of driving skill and to ascertain insurance risk.

The MotorMate app consists of two parts:

  • A telematics core: a collection of components and services that record 1-second GPS data, upload complete trips, and retrieve the profiled trip scores. I completely re-wrote the core, using best practices for Android services, wake-up alarms, and device power management - improving efficiency, performance, and reliability.
  • The user interface, specific to I developed this from scratch, liaising with their design agency to specify assets, and utilising the telematics core for the underlying functionality.

Lunch Timer

The first app to be released under the Sturnus brand, Lunch Timer is a useful lunch break reminder and timer. It uses best practices for Android services, minimising any drain on the battery, whilst still waking up the device when you need to be alerted.

Lunch Timer has two modes:

  • Manual Mode: Start the lunch timer whenever you want; Time4Lunch will let you know how long you have left.
  • Strict Mode: If you always take lunch at the same time, Time4Lunch will notify you when it's time to take your break. Then it will let you know how much time you have left.

Epstein Mysteries
New Art Gallery Walsall

Brought in to rescue the project two weeks before it was to be delivered - it was clear that there were some major issues that had to be fixed before the app would see the light of day.

The layouts had been hard coded for just one specific phone - so did not display correctly on any other handset or tablet; there were some major memory issues that were causing frequent crashes, and the centrepiece of the app - the suspects carousel - did not work.

I re-wrote and simplified the XML layouts, the image handling (which was causing the memory problems), and the carousel, resulting in the app being delivered on time.

Hello! Magazine

The replacement for their previous Android app - the new Hello! Magazine app has been designed with a clean user interface.

I wrote the entire app from scratch - including the user interface and feed handler.

Keratinogram by Sunsilk

A visually beautiful app - released in conjunction with a marketing campaign in a number of countries, I wrote the entire app from scratch. There were a number of interesting features of the app, including several localisation challenges, and the incorporation of custom OpenGL ES components and animations.

Earth Wonders

A rich multi-media app, featuring high-quality stunning photos and videos. As the initial developer, I created all the fundementals, including an interactive texture-mapped globe built using OpenGL ES, as well as the custom controls and animations.