Contact Me

Software Developer

Specialisations: Game development and design (engines, UI, gameplay / logic) and full stack web application development.

Location: Glasgow, Scotland.

I have a passion for programming, which means I am always willing to learn new things. My main focus has been on games development and web applications. My mix of specialisations gives me a unique view on design aspects and my reliability and punctuality ensure I will get the job done on time. I also have a talent that allows me to quickly understand and debug existing systems.

I have also worked on many projects as a freelancer and I have worked in teams from as few as 2 people to as many as 15. Some of that time was as a Lead Developer, which allowed me to develop my delegation, teaching and leadership skills.

PgDip Games Technology
BEng Hons. (2:2) Computer and Electronic Systems
5 SCE Highers (AABBB), 7 SCE Standard Grades

My main area of focus has been games (iOS and Android) and web application development, with some experience in data and image processing and manipulation.

Objective-C, Swift, JavaScript, MySQL
HTML, CSS, XML, Restful APIs, iOS Frameworks
SQLite, PHP, C#, AngularJS, MSSQL, Java
JSON, OpenGLES, Starling, Jenkins, Node.js, ASP.NET, Cocoa Pods
Visual Basic, LUA, ActionScript (AS2 and AS3), Perl, Python, C, C++
Hibernate, Maven, Android, Homebrew, Composer, Gradle, npm, CPAN, PEAR, Unity 2D, Box2D


J.P. Morgan
May 2017 - Present
Main duties involve bug fixes, maintenance and feature implementations for two iOS applications. This includes development of features that require communication with web services, as well as adding unit test coverage, build automation and utility scripts to help with development, deployment and detection of potential issues.

City FM
iOS Developer
June 2016 - May 2017
Development and maintenance of existing iOS applications. Main tasks have included taking ownership of two existing applications and bringing them up to date with new, internal frameworks and generally improving the UI and UX of both applications. Other responsibilities included developing a statistics web service which takes existing logging information and displays it in a user friendly way, helping identify trends in user actions and potential areas of improvement for the syncing service between the apps and the main web services.

Envoy International Ltd.
Lead Developer / Web Applications
September 2014 - January 2016

Contractor / Web Applications
February 2016 - Present
Lead Developer of a small team, creating web based applications for the IP Rights renewal service industry. Utilising PHP, PEAR, CPAN, HTML, JavaScript, AngularJS, Composer, Restful APIs and MySQL (with some minor use of Perl and Python).

Envoy Renewals (http://www.envoyrenewals.com)
Maintenance of existing system and redevelopment of invoicing system.

Envoy Client Direct (http://www.ip-renewals.com)
Portal for IP renewals, with data validation.

Delegate Instant (http://www.delegateip.com)
AngluarJS application for instant quotes. Connects to USPTO PAIR API.

Claymore Games
Games Developer / Designer
January 2006 - Present

Working in a small team of 2, we have developed several games, both self published and on a contract basis. All of which have utilised the majority of the languages and technologies listed above.

NeoArcade (Universal iOS, tvOS) (http://www.neoarcade.co.uk)
Utilising Game Center, ReplayKit, OpenGLES, Box2D physics engine, Objective-C custom engine. Android version is currently in development.

NeoControl (iPhone)
Companion app for NeoArcade. Use your phone to control the games on another device (iOS and tvOS). Using local WiFi to connect and transfer data.

Chock A Block (Universal iOS) (http://www.claymoregames.co.uk/cab)
Game Center, iCloud saves, Objectice-C custom engine, JSON for saving replays. Also includes a MySQL and PHP backend for game accounts (create, delete, friends, invites) and challenges.

Internal Motivational Game for Aviva (through Dinnis Design) (Web / Flash, AS3, Starling)
Programming and design (developing the concept into a game, which required representing risk and its rewards or consequences). Using ActionScript 3 and Starling.

Plum Crazy (Universal iOS) (http://www.claymoregames.co.uk/plumcrazy)
Game Center, Objectice-C custom engine, custom high score server (MySQL and PHP). Including porting and upgrading Primordial Soup to Objective-C.

Super Solitaire (J2ME) (http://www.claymoregames.co.uk/solitaire)
Created using J2ME, including a custom image processor that reduced overall image storage size and allowed palette switching.

Countdown (J2ME) (No longer available)
Programming, including any tools required, with some help during Q&A stages.

Ludometrics Ltd.
Various Dates

Bodycheck (PSVita) (LUA, C#, C++) (http://ludometrics.com/game/bodycheck/)
Co-programmer on a speedball inspired 3D game for the Playstation Vita. Game is being built using the BitSquid engine, which utilises LUA and C#. Majority of my work was centred on the first pass of the A.I., as well as the UI and Leaderboard system. Initial prototype was developed using Sony's C++ Fyre engine.

Bips! (Facebook Game) (AS3, Starling) (http://ludometrics.com/game/bips/)
Co-programmer, with main tasks involving tools and UI development. Using ActionScript 3 with Starling and Player.IO (now Games Platform Company).

Aarkid Ltd.
Lead / Technical Programmer / Web Developer
August 2007 - September 2010

3D-Standards (GWT, PHP, MySQL, Hibernate, Java) (No longer available)
Design and development of a 3D web application to help sellers of Display Stands visualise their layouts and show their customers how they will look before purchasing.

Sub-Projects (based on the 3D-Standards application):
Skytron (3D Operating Room sales tool)
VTS Medical (3D Operating Room control tool)

Stanley Vidmar (PHP, HTML, CSS, Java) (No longer available)
Design and development of a 3D visualisation tool for Stanley Vidmar's range of tool cabinets and workbenches. Included exporting a PDF with extra information.

Various 3D Presentations (PHP, Java) (No longer available)
Programming of various 3D product presentations.

Picsel Technologies
Software Engineer
June 2006 - August 2007

Smart Office (J2ME variant, J2SE, Tomcat, Maven)
Variant of the Smart Office product that was used to create and publish e-magazines. Included a large server side component, which involved heavy use of J2SE, including a Flash to Java converter.

Pricerunner (J2ME) Mobile version of popular price comparison website (No longer available)
Shared responsibilities of programming, which included developing a protocol for downloading large quantities of images and text and displaying them in a usable, easy to navigate format.

Altachorvie (Website)
Hotel website, with booking capabilities. Custom Wordpress skin, with bespoke plugins.

Pilots Direct (Website)
Job website for Pilots. Development of site, with Drupal CMS.

Car Mag F1 [Android] [iOS]
Mobile app for South African Formula 1 website. Built using PhoneGap. App was already in development before I took control and rebuilt the app to fit the customer's needs.

Dinky Dino Games
Games Developer / Designer
February 2004 - January 2006

J2ME projects:
Various Puzzle Games

Rockpool Games
Games Developer
December 2004 - June 2005

J2ME projects:
WWE: Raw

DC Studios (now Firebrand Games)
Games Developer / Technical Producer
June 2004 - December 2004

J2ME projects:
Worms Forts: Under Siege,
I, Robot (Movie franchise),
Ice Age Skater