Contact Me

Software Developer

Specialisations: Mobile games and app developer / full stack web app developer.

Location: Carluke, 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 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 (iOS Development), MySQL, Java (J2SE, J2ME), PHP
HTML, CSS, XML, Restful APIs, iOS Frameworks (Game Center, Foundation, IAPs, Push Messages)
SQLite, JavaScript, C, C++, C#, AngularJS, MSSQL
JSON, OpenGLES (developing iOS games), CPAN, PEAR, Unity 2D, Box2D, Starling, iOS Frameworks (UIKit, Code Data)
Swift, Visual Basic, Lua, ActionScript (AS2 and AS3), Perl, Python
Hibernate, Tomcat, Maven, Android, Homebrew, Composer, Gradle, npm, Node.js


City FM
iOS Developer
June 2016 - Present
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 2014 - February 2016

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. Uses local WiFi to connect and transfer data between your phone and a device running NeoArcade.

Ludometrics Ltd.
September 2013 - May 2014

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).

Claymore Games
Games Developer / Designer
January 2011 - December 2013

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.

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.

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, J2EE, 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 J2EE, 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) (February 2012 - June 2012)
Job website for Pilots. Development of site, with Drupal CMS.

Car Mag F1 [Android] [iOS] (October 2014)
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