Full Stack iOS Developer
BSc Computer Science
Computer Science 2019 graduate from Durham University (BSc) with first class honours. In my final year project, I created a deep learning based answering system for the mobile quiz gameshow HQ Trivia; Apple WWDC18 Scholarship Winner; intermediate/senior level full stack iOS developer (primarily using Node.js/TypeScript on the backend).
I'm currently working in a startup environment and enjoy the facing the challenges that they bring from a technical standpoint. There are a huge number of problems that still need solving for the future and I hope I can help with just a few of them. I'm also thinking of starting some kind of blog soon to document my exploration into new iOS technologies (how cool are SwiftUI and Combine!) as well as modern server programming with Rust (or anything else that I find interesting).
Listed are my current and past projects, the most recent being at the top. Please get in contact with me if you have anything interesting to say!
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. This is a risk I do not take lightly, and I believe we have an incredible product that will soon be available! The codename for this is "Project 21", because I'm still 21 and it sounds cool.
Final year computer science project dissertation. Area of study is 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.
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.
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.
My entry for a WWDC17 scholarship. I created an interactive introduction to sorting algorithms within a Swift Playground, using fun emoji characters. While unsuccessful, this was an invaluable Swift learning experience.
This is a simple game I created for my Extended Project Qualification (EPQ) while at school (A*). It makes use of SpriteKit and you can download it on the App Store.
Edit: Looks like Apple removed it because it included a small gambling system to unlock new characters? I'll see if I can sort this out.
Another simple SpriteKit game I made, garnering a few thousand downloads. I worked especially hard on the animations of all the elements. Generated revenue through advertisements, with a StoreKit integration to remove adverts for ~£0.79.
A game inspired by Flappy Bird, written in Swift. 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)
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.
So many more projects lost to time, and many that are indefinitely incomplete. I love experimenting with all kinds of programming languages, tools and frameworks and it's fine to have projects that are constantly created just for the purposes of learning and exploration! Just try and finish one every once in a while...