I solve difficult problems via collaborative development of software. I believe in investing in
people by providing them with the right learning environment, tooling, and time to develop skills and processes, so together we
can deliver a lasting solution within a targeted time-frame. I strive to continually be learning how to take advantage
of new techniques and technologies. I enjoy building high performance teams, mentoring, and continuously learning
with my colleagues.
Backend chapter lead with a responsibility for mentoring and guiding its members.
Lead backend developer for numerous mobile and web applications.
Individually contributed to many innovative products from Augmented Reality, IoT, mobile Bluetooth peripherals, and video distribution.
Developed stack templates and services for reuse across projects for a quick bootstrap to solving real business problems.
Lead proponent of Infrastructure as Code, CI/CD, automation, and uniform development and production environments in order to achieve correct, repeatable product launches and updates.
Cross platform video distribution and playback service for mobile and desktop. Strongly focused on performance and power efficiency for mobile devices.
Core developer of cross platform video playback SDK (Windows, iOS, tvOS, macOS, and Android)
Responsible for platform specific hardware accelerated h.264 decoder and asynchronous networking implementations
Achieved goals of smooth, uninterrupted playback using low cpu and low power on phones including older budget models
A web application that helps dietitians plan menus that meet USDA National School Lunch Program compliance standards.
Lead developer and solution architect during initial 6 months of project
Returned to project for final 6 months to undertake SRE duties
Addressed performance issues and availability of service by load testing with realistic usage patterns
ATF Vision provides intelligent video surveillance camera solutions for temporary security camera and construction site monitoring. The app gives customers instant access to their surveillance camera and allows them to view and control their site security.
Solution Architect for backend service of mobile and web applications
Long term service maintenance and ongoing improvements including replatforming using serverless technologies
A distributed IoT rules engine for controlling your homes various devices with triggers and schedules.
Core developer of embedded SDK (OpenWRT, iOS, macOS, and Android)
Responsible for the data access layer
Integrated a preview version of the AllJoyn Security 2.0 protocol
Presented to the AllSeen Alliance on using Security 2.0 from a developers perspective
An app coupled with a specialized device to record and then analyze breathing sounds for the presence of wheeze, an important sign of air flow obstruction in asthma.
Backend service developer
iOS developer responsible for Bluetooth communication with device
Grovers Block Party
An educational play experience using Augmented Reality built for Sesame Workshop in collaboration with Qualcomm.
Responsible for detection of block arrangements and event triggers.
Was part of the Toad for Cloud Databases team, providing a data hub solution to allow people with SQL knowledge to query NoSQL databases in an easy and familiar way.
Primarily responsible for the development of a MySQL database proxy for Linux and Windows, used to perform optimizations of heterogeneous queries. The data hub proxy was a core component in Toad for Data Analysts 3.0, Toad for Cloud Databases, and Quest Business Intelligence Studio.
Contributing developer to a MySQL storage engine, which provided a method for querying NoSQL and Cloud database services with SQL.
Contributed bug fixes to the MySQL and Drizzle open source projects.
Toad Data Hub
Receives the SQL statements submitted by the user through Toad Client, translates them into the appropriate API calls to fetch or update data in the designated cloud database, and returns the results in the familiar tabular format of rows and columns. It dramatically simplifies access and management of non-relational data stored in the cloud. It puts NoSQL databases within reach of RDBMS developers and DBAs.
Responsible for the MySQL database proxy which transformed SQL queries to optimize performance.
Maintained and extended the MySQL storage engine used to query NoSQL data sources.
System for providing structured query language access to non-relational data stores
As a member of the Game Engine team, my role included adding new features to the engine and exposing them to Lua for the game play programmers, as well as maintenance and performance improvements.
Developed the multiplayer networking system for PSP, Xbox 360 and PC.
Designed and implemented our engines game object serialization system, which included bit packing of annotated attributes for more efficient memory usage on hand-held devices.
Implemented a save game system for PSP, Xbox 360, PC, and Wii that complied with each platforms certification requirements.
Primary developer responsible for development and project troubleshooting on the Xbox 360. Played a secondary role in porting our engine to the Nintendo Wii and Sony PlayStation Portable platforms.
Performed last minute optimizations of game specific code on numerous occasions. Including a rewrite of the gem matching algorithm in Lua for Puzzle Quest 2; Improving its performance on the PSP from 6 seconds down to 150ms.
Titles worked on include:
Puzzle Quest: CotW: Revenge of the Plague Lord (Xbox 360)
Neopets Puzzle Adventure (Nintendo Wii/PC)
Puzzle Kingdoms (Nintendo Wii/Nintendo DS/PC)
Puzzle Quest: Galactrix (Xbox 360/Nintendo DS/PC)
Puzzle Chronicles (Xbox 360/Nintendo DS/Sony PlayStation Portable/PC)
Puzzle Quest 2 (Xbox 360/Nintendo DS/Sony PlayStation Portable/PC)
Unrealized Project (Xbox 360/PC)
Dragon Rush (Facebook/web browser plugin)
Puzzle Quest 2
Primarily responsible for Xbox 360 engine development
I was asked to join August as a contractor shortly after their founding, and became a full time staff member after completing my degree at RMIT University.
I began working as a junior developer at Alkemi after being recommended by my lecturer at Monash University. I maintained a relationship with the company for many years and over time became lead developer.
The majority of software development subjects at RMIT were completed using C and Java and were targeted at the Solaris operating system. I focused my studies on game development, databases, software development practices and methodologies, and programming languages.
I studied Multimedia Computing at Monash University for two years, where I gained an interest in games development. I decided to pursue the possibility of a career programming games by switching to Computer Science at RMIT University.