Magic Vision Lab – Depth Perception Study with Mobile Augmented Reality – Completed March 2013

Implementation and development of user study application running on iPad, where user guesses distances from AR based environment. Skills used involve moderate OpenGL ES2, Objective-C++ and understanding of mobile limitations with Augmented Reality including optimisations for given hardware.

User study currently in progress.


Arduino based Timelapse Slider Project – Completed December 2012

Linear slider on which a camera is positioned for movement during timelapse photography. Uses stepper motor driver, AVR ATMEGA328P microcontroller and misc components in fully custom control box. Entire solution was conceived  designed, built, tested and programmed in 4 weeks during Christmas holidays. Software skills involve hardware interrupts  efficient and accurate timing functions, complex state based logic, aggressive memory management and a simple network protocol designed for multiple device communication. Can interface with a computer to program in slide patterns with Linux helper application. Alpha level support with Adobe After Effects plugin to interpret saved motion pattern for stage camera movement to simplify compositing and visual effects.

Featured on Hack A Day, /r/Arduino.


University of South Australia Formula-SAE Data Acquisition Unit – Completed August 2012

Polls and logs data from GPS, 3axis Gyroscope, Accelerometers and Temperature probes at 60Hz. All hardware and software were built and programmed personally, with use of AVR microcontrollers. Includes an external software package including a parser for data analysis with Excel and simple command line config software, interfaced over USB serial connection.


Augmented Reality Breakout Clone – Completed June 2012

Utilises Unity3D game engine to play a simple game of breakout in an Augmented Reality environment. Written in C#, utilises knowledge of AR and 3D environments.


Adhesion iOS Game – Released March 2012

Full scale paid game for the iOS devices. Advanced level generation from XML files with custom parser and level editor, implementation and extension of the 2D rigid body physics engine Box2D. Built with the Cocos2D 2D game engine for iPhone, which was forked and modified to offload graphics tasks to GPU through the use of OpenGLES2 and additional iOS API calls. Also utilises Apple’s GameCenter API’s and custom .plist utility class for fast drill down navigation, data access and file modification whilst retaining an update proof data structure.

Currently installed on ~1350 devices.


Ball-TRaCK for BlackBerry Playbook – Released Jan 2011

Forked and rewritten from the iOS version written in AS3 to include new graphics, gameplay, UI and soundtrack. Technical achievements included some hardware acceleration of graphics by leveraging unmanaged C code written in the NDK, which accelerates the draw and game tick functions.

Has amassed over 32,000 downloads over 2012, and one weekly feature on the Top Free Apps page in the BlackBerry App World store.


Ball-TaP iOS Game

Simple reaction timing game written natively for iOS. Manages leader boards with SQL based server, interfacing with serverside php scripts.

install base of approximately 3700 with ~40 daily sessions.

Sgraffito iOS Drawing App – Released December 2010

Started as quick learning experiment with OpenGL on iOS, and was developed into a fully functional ‘toy’ drawing app. Notable skills used involved OpenGL, Apple’s CoreGraphics library and full customisation and override of Apple’s default UI paradigms for custom UI elements.

Private unreleased version can manipulate brush stroke width with undocumented calls for pressure sensitivity based on the surface area of the finger in contact with the screen, where more fingertip = pushing harder.

Averages 2400 sessions daily, and has exceeded 15k downloads between iPhone/iPod and iPad devices during 2012.


BallTRaCK iOS Game – Released August 2010

Developed using Adobe’s AIR Cross compiler for iOS and Android through Flash Builder 4. Written in ActionScript 3. Designed as a performance test for managed vs native code on iOS. Installed user base exceeded 5600 users before removal of the game from the AppStore in late 2011 due to end of update lifetime.

Later ported to the BlackBerry Playbook platform as referenced above where it was well recieved.

OSX86 Project Contributor  2009-2011

Contributed to the OSX86/64 Project aka “Hackintosh”, custom Boot CDs, customised and preconfigured bootloader packs for a particular set of Gigabyte P45 Motherboards running OSX10.4 Tiger, 10.5 Leopard and 10.6 Snow Leopard.

Developed and released several sets of documentation for installing/managing several different bootloaders, ‘BootThink’ and Chameleon1. Ported several drivers from 32 bit to 64 bit using Apple sources, and determining patches for audio drivers from linux for use in the MacOS environment.