I'm a software developer with 14 years of professional experience in developing games, apps, and server-side code.
I make highly-rated products and write elegant code. I'm perfectly happy working in a variety of languages (including C++, Python, C#, and Swift) and across all areas of game, app, and backend development. I have strong knowledge of Unreal Engine (UE4), Unity, and Amazon Web Services (AWS) including Lambda, GameLift, EC2, and CDK.
I've shipped projects working solo, leading small teams, and as a freelancer with exceptionally positive feedback.
Game and App Developer, Never Don't Play (Self-Employed)Started February 2009
Developed games for Xbox 360, PC, iOS, Android, Mac, and Linux.
Developed apps for iOS, Android, and macOS.
Worked on all areas of product development including programming, design, marketing, usability testing, PR, and art and sound direction.
Currently working on Hero Team, which is an online multiplayer 2D platformer/shooter built on Unreal Engine with an AWS-based backend.
Previous products released include:
Stick 'Em Up 2: a multiplayer run'n'gun game released on 6 platforms
Mesh Explosion: an explosion system for Unity with 5 stars on the Asset Store
Good Stopwatch/Good Timer: simple and beautiful timing apps with 4.8 stars on the Mac App Store
Day Planner: a unique scheduling app with 4.6 stars on App Store
Freelance ProgrammerNovember 2006 — October 2010
Completed software projects including a video ringtone app, a map-based prototype taxi booking app, a service fleet management app, and various system administration jobs and bug fixing.
Achieved a perfect 5.0 feedback rating over 50 jobs with reviews including:
'The only fitting description is "Above and beyond the call of duty"'
'excellent, clean code. super responsive and intuitive. hope I can work with him again.'
'Jon was a pleasure to work with. He did an awesome job and I highly recommend him for your next project!'
'I'd give Jon an 11 if I could. If you need any Amazon EC2 or Python work, this is your coder! Best experience on VWorker so far!'
'Went out of his way to complete the work with the utmost quality. Excellent communication throughout and had an excellent grasp of all requirements. Highly recommended.'
'A great programmer to work with. Excellent communication and very professional work. Exceeded my expectations.'
'Excellent work, excellent communication. Terrific to work with.'
'Outstanding work. Above and beyond the call of duty in my opinion. I would use this person again!'
'Excellent work and extremely responsive. A true pleasure.'
'Wow. Jon really went over and above the call of duty this time. I can't say thanks enough.'Tech:
Hero TeamStarted April 2020
An online multiplayer 2D platformer/shooter that is currently in development for PC using Unreal Engine.
The code has a judicious mix of C++ and Blueprints, with the latter used to provide fast iteration of gameplay parameters and cosmetic effects. The game uses the modern UE4 subsystems including Niagara particles, UMG UI, and Animation Blueprints.
4-player couch co-op/versus is available, with gamepads and mouse/keyboard supported. There's drop-in/drop-out support, including workarounds for some awkward UE4 quirks in that area.
The game has full online play support, with a backend built on Amazon Web Services. Linux dedicated servers are hosted using GameLift, with a feature that lets players start up servers in any GameLift region with no administrative intervention required. The online service is written in Python and deployed using Docker containers to Lambda. DynamoDB is used to store player data. The whole AWS setup is configured and deployed using CDK infrastructure-as-code.Tech:
Steam: Hero Team
- Unreal Engine
Good Stopwatch / Good TimerJune 2017 — August 2017
A pair of simple and beautiful timing apps for Mac. The idea of this project was to take a very simple problem and obsess over every pixel and interaction detail in an Apple-esque way.
Both apps currently have an average customer rating of 4.8 stars on the Mac App Store.Tech:
Day PlannerMay 2016 — May 2017
An iOS app for planning out a block of time. The most distinctive feature is that you can set a fixed end time for your plan and the app calculates backwards to show you when you need to start to complete all your tasks in time.
A technical highlight of this project is the iCloud syncing with local caching and complete offline support. It uses a library I developed that provides a simple object interface for reading and writing data, and handles all CloudKit syncing operations in the background.
The app also includes nice custom UI elements for adding new tasks and showing the progress of the current task. They discreetly augment the standard iOS look-and-feel and fit in perfectly with it.
The current average App Store customer rating is 4.6 stars.Tech:
App Store: Day Planner
Stick 'Em Up 2 (PC and mobile port)June 2013 — July 2015
A remake of my earlier Xbox 360 game, rewritten almost from scratch in Unity, and ported to Windows, Mac, Linux, iOS, and Android.
It includes network support and a robust input system that simultaneously works with any combination of controllers, keyboard/mouse, and on-screen touch controls.
An interesting technical detail was that the character animation and particle systems were built with Unity's standard 3D animation and particle features, and then the results are projected down to the 2D gameplay plane and rendered with a custom line drawing system to give the signature paper-and-card look of the game.Tech:
Mesh ExplosionStarted November 2012
A library for creating real-time explosions in Unity. The main feature is the extreme simplicity of use, which means that almost any game object can be made to explode with a single function call and with no manual setup required.
The average Asset Store customer review rating is 5 stars.Tech:
Stick 'Em Up 2: Paper AdventuresApril 2010 – October 2011
staticwebsyncStarted October 2010
An open-source tool for web developers that significantly simplifies the process of setting up static web site hosting on Amazon Web Services' S3 and CloudFront. It handles all the fiddly details and annoyances of setting the services up manually with sensible defaults to provide a delightfully simple one-line deployment method.Tech:
- Amazon Web Services
Stick 'Em UpJanuary – April 2010
Wand MasterMarch – June 2009
Air HockeyDecember 2008 – February 2009
An Android game that was launched on first day that the paid app market was available. The graphics were built using OpenGL ES to provide excellent 60fps performance on the limited hardware of the Android devices at the time.
The free version has over 1.7 million downloads.Tech:
- OpenGL ES
nanoTweeterStarted November 2008
Scrobble DroidStarted November 2008
PayAsYouPlay.orgDecember 2006 – October 2007
BSc Computer Science, University of Southampton2001 — 2004