Since September 2018 I have worked at Arm. I work as tech lead of Arm Mobile Studio and work on its Android Performance Tools which help game developers to optimise game performance. I previously worked on projects with Arm Development Studio and the Micro:bit Educational Foundation.


I worked as a Wireless Software Engineer at Intel from July 2016 – August 2017 for my internship. Whilst at Intel I developed a real-time diagnostics tool and worked on generating and simulating 5G traffic.


ScreenshotFACILITY 7 is an experience that explores the concept of time itself. Is there a goal? What is its purpose? That is for you to decide.

I created this game for my One Game A Month challenge using the theme ‘Age’. I created the game from scratch in Unity using C# and it is playable on Windows, Mac and Linux.


Over the last few months I have worked on a project as a part of my coursework. Stoodle is a service that allows students at the University of Bath to share and review notes from fellow students on their course. It was developed using PHP/SQL for the backend and HTML/CSS for the front end. I also made use of Bootstrap for the user interface. It was great to finally write something from scratch in PHP, I have lots of experience using WordPress and phpBB so it was nice to expand beyond just editing existing code. Now I have completed this project I feel I am skilled in PHP and SQL.

Stoodle has many features:

  • Creating an account
  • Logging in/changing password
  • Uploading notes
  • Browsing notes
  • Rating notes
  • Commenting on notes
  • Customising your profile

Virtua Cube

Virtua CubeI developed this game in a team of four over 24 hours at a hackathon (BathHack). The game requires an Oculus Rift DK2 and is a virtual reality survival game. We created the game in Unity using C# and the Oculus Rift SDK. You control the game by moving your head and must avoid looking at the cubes coming from all directions. There are also various power-ups you can collect such as ones that speed up and slow down time, a laser gun allowing you to shoot and destroy cubes as well as a bomb. The object of the game is to survive for as long as possible, there is also a high-score table.

I also submitted this game as part of my One Game A Month challenge. I really enjoyed working in a team and with virtual reality and feel that it is the future of gaming. As well as this I submitted the game to Oculus Share and it has since been accepted and so can now be downloaded via the official Oculus website.

Since this post a brief video of the game was made by WEARVR who also feature the game on their website:


SUPERVIRUSSUPERVIRUS is a roguelike game where you control a virus and attempt to infect as many computers as possible. I created this game for my One Game A Month challenge using the theme ‘Rogue’.

I created the game in Unity using C#, it is playable in Windows, Mac, Linux and in the browser. I based the game off of a 2D Roguelike tutorial so I could learn more about developing 2D games in Unity and creating procedurally generated levels which this game features.

30 Second Challenge

30 Second Challenge30 Second Challenge is a game where you must complete a series of obstacle courses in under thirty seconds. I have decided to start doing One Game A Month which is a website which provides a monthly theme for a game and game developers have until the end of the month to create a game based on that theme. I feel this will help me to improve my skills and portfolio. This months theme is ’30 Seconds’.

I created the game in Unity using C#, it is playable on Windows, Mac, Linux and in the browser.

GPD Reader

I created an Android application called GPD Reader which allows you to view the latest news from Google Plus Daily on the go. It looks great on phones and tablets, follows the material design guidelines, provides an optional dark theme and has the option to send you a push notification whenever a new article is posted.

I created the application using Android Studio in Java. You can download the application on Google Play.

Dungeon of Doom

Dungeon of DoomAs part of my coursework at the University of Bath I spent two months creating an online multiplayer dungeon game in Java. A server application can be started which will manage the game and then any number of players are able to join the game from their client.

The game includes chat functionality as well as a combat system for when players encounter one another in the dungeon. The object of the game is to collect a specified amount of gold and get to the exit before anyone else. The game is turned based and has keyboard and on-screen controls. There are a variety of additional items in the game that can help players such as a lantern to increase a players view, armour to increase your protection, a sword to increase your attack and potions to restore lost health.

Unfortunately as I created this game as part of my coursework I am unable to publish it online at this time. However I am happy to send a copy of it on request.

Invasion for Don’t Starve Together

InvasionI ported my existing mod over to Don’t Starve Together which means that the aliens are now networked and the mod can be used on multiplayer servers. This involved restructuring some existing code and ensuring the aliens and ships were created and managed on the server side instead of the client side.

See the original mods section for more details. You can view the code on my Github repository.


Invasion for Don’t Starve

InvasionI developed a mod for Don’t Starve which adds alien invasions into the game in Lua. The mod spawns a number of crashed ships throughout the world each season so the aliens slowly take over the world. The aliens will only come out at night unless provoked but will attack you on sight.

It was an interesting project as I enjoyed programming the aliens artificial intelligence. The alien has several states it can be in and will always try to return to its ship before daylight. I also used Spriter to animate the aliens. The aliens were improved versions of the ones I created in Luneoids. You can view the mod on the Steam Workshop and the code on my Github repository.

An early version of the mod was reviewed in a mod spotlight:


LuneoidsI made a complete Android game over a six month period called Luneoids. The object of the game is to survive against waves of aliens by tilting your phone to move your ship. You can collect gold to buy various upgrades and new ships to help you progress further during each try.

I used Game Maker Studio to create the game as I used this tool to create a large amount of games when I was younger. However I also made extensive use of its GML scripting language to allow for more advanced features to be implemented. The Hotline Miami series was created using Game Maker Studio so the software is more advanced than many realise.

My younger brother helped out by drawing all the graphics by hand whilst I coloured them using GIMP to provide a unique art-style for the game. You can download and play the game at Google Play, it is compatible with phones and tablets. You can view some gameplay footage below:



Various Websites

Over the years I have created a large range of websites for various clients. Usually this involves heavily customising an existing WordPress theme. In some cases this has also included creating logos and branding for the business as well as business cards and posters. A good example of this is with Pencil Stencil Designs where I created an entire brand for the business including designing their business cards and social media pages:

Pencil Stencil Designs
Another example is Merton Pisces Swimming Club whose website I have maintained for several years:

Merton Pisces Swimming Club

One of my most recent websites was Charlotte’s Snaps – a photography website:

Charlotte's Snaps

I also designed a variety of promotional graphics for Charlotte’s Snaps. Here is an example: