Driving App c. 2022

Instead of getting a graduate job straight out of university, I have elected to devote a number of months to starting a business with some associates, myself being the technical founder/computer guy. It will be an iOS app with a networking component and will be released in early 2022. It is the culmination of many months of planning, design, testing and learning. I'm super excited and cannot wait to share it with all of you.

Autocart c. 2020

This is an app project that I made during 2020. It's an automatic checkout "bot" that can be used to order merchanise from some select online stores at lightning pace. It's a simple idea built using some powerful and modern tools that I'm really into at the moment: PromiseKit, SwiftUI and Combine.

The app has been recieved very well (hovering at around a 4 star rating on the App Store) and I continue to update the app regularly with bug fixes and feature enhancements. It's the most affordable bot available on iOS (as far as I'm aware). If you want to get in touch, send me an email from the app's website support page.

Web Security Research c. 2020

I am a part-time/hobbyist web security researcher, simply because I find the process of finding bugs fascinating. The modern web is riddled by complexity, making the scope of potential vulnerabilities very wide, from (for example) performing an account takeover via an XSS cookie theft to simply not validating passwords correctly. I have primarily been focusing my efforts on the new Apple Security Bounty program. Since this program's inception, I have submitted almost a dozen vulnerability reports, and I have been credited by Apple on their web security page.

Apple Web Server Notifications

HQ Trivia Bot c. 2019

This was my final year computer science project dissertation I produced while studying at Durham University. The full title of the project was "Quickly Answering Multiple-Choice Questions using Deep Learning", which involved creating an automatic answering bot the (then) popular game HQ Trivia. The area of study involved performing open-domain question answering on games of HQ Trivia, using deep learning and Google AI Language's BERT to generate answer predictions in real time. This was my first exploration into machine learning and found it extremely interesting; I was able to achieve a result similar to the state of the art in open-domain, multiple-choice question answering. You can see the full paper here.

I attended Durham University from 2016-2019 and graduated with First Class Honours in BSc Computer Science.

Treasure Town c. 2018

A application prototype created for Y Combinator's Startup School 2018. As the technical founder, I developed the entirety of the frontend (iOS) and backend (Kubernetes, Cassandra, Node.js, Elasticsearch, Stripe). Digital Ocean was our backend infrastructure thanks to the Hatch startup program providing us with $30,000 of infrastructure credit. We also made use of Firebase's simple suite of free developer tools. This project unfortunately had to be placed on hold to allow me to complete my degree. Upon completion of my degree, interest had waned and other projects seemed to be more interesting.

WWDC18 Scholarship c. 2018

This project was my entry for a WWDC18 scholarship. It provides an interactive introduction to RSA Encryption within a Swift Playground. I was fortunate enough to have been selected as a winner, and was given travel to the USA, accommodation for the week and a ticket to attend WWDC18. It was an incredible experience and I'd encourage any student that's into programming to give it a go. While my code is not the best by any means, I have still open sourced the project to let you see that you don't need the cleanest code to get selected.

Here's a video of the project in action.

WWDC17 Entry c. 2017

My entry for a WWDC17 scholarship involved creating an interactive introduction to sorting algorithms within a Swift Playground, using fun emoji characters. While unsuccessful, this was an invaluable Swift learning experience. I've open sourced the project.

Hold the Circle c. 2016

This is a simple game I created for my Extended Project Qualification (EPQ) while at school. I achieved the highest possible grade for this project, which was an A*. It makes use of SpriteKit as the game engine.

Grapevine c. 2015

This was a social networking application I created in my free time using iOS and Firebase. It allowed for friends to chat anonymously with each other within an iOS client app. I discontinued this, but all the client code is open source. This 'real' project taught me the importance of having a well architected app!

It was a great learning experience, and was the first time that I had used any of the Firebase suite of products, which I continue to use today. When working on this project, the Firebase Realtime Database was still very new and very cool that it was so easy to implement realtime features.

Asteroids - Earth Defence c. 2015

An arcade style game for iOS where the goal is to save the earth against being hit by asteroids.

This was another SpriteKit-based game I made, garnering a few thousand downloads. I worked especially hard on the animations of all the elements, and the collision engine. Generated revenue through advertisements, with a StoreKit integration to remove adverts for ~£0.79. This is no longer available on the App Store.

Such Flap - Flappy Doge c. 2014

This was a game inspired by Flappy Bird, written in Objective-C. This is my first app that was able to achieve some degree of success on the App Store, achieving a small amount of revenue from in-app advertisements.

While low in quality, it was large in the amount I learnt about iOS development, especially so early on in my programming journey. I'd encourage anyone starting out programming just to try and immitate a simple game. It gives you a crystal clear goal, you learn stuff you'd never even think of yourself and the result is really fun! (and iOS SpriteKit is a great place to start)

React c. 2013

A SpriteKit-based game created for a school project. Involved multiple game modes relating to testing your reaction time. Unfortunately this project is so old, I no longer have anything relating to it other than the app icon.