I am a 23 year old junior full-stack software developer, currently at Mountain Warehouse, where I have been in various development roles since 2022.
I became interested in programming since getting my first laptop at age 14, and started programming for iOS, which I focus on outside of work, at 16/17 years old.
I started at Mountain Warehouse as an intern as part of my University course in Computer Science, rotating through various development teams. As of graduating with 1st class honours in 2024, I have continued in the Web development team, working primarily with React, C#/the .NET framework, and Typescript. Most recently, I am on a small team of developers migrating our site to a new tech stack and e-commerce platform.
In the past, I have made and published Android applications written in Java to the Google Play store, but most personal development, including my final year project at University, is in Swift/SwiftUI for iOS and Mac platforms - though backend work I like to do in C#. Additionally, I have been involved in several modding communities for online games.
Go Travel is an iOS application I am currently developing in SwiftUI, and a full backend in .NET Core. Go Travel is part of my final year project at university, and aims to encourage usage of public transport across the UK. The application has several unique features across the full stack, and leverages some of the newest technologies both on iOS and on the backend, such as Macros in Swift, new MapKit features, keyed services in dotnet and much more. The application also has a social element, where users can compete to travel the most, and make update posts to their followers.
Swift
SwiftUI 5/6
MapKit
.NET 9
Auth0
UrlSession
GaryDit is a personally developed iOS application developed after Reddit shut down free public API access for popular applications. GaryDit is built natively for iOS, taking cues from the popular app Apollo for Reddit, which is no longer available. GaryDit utilises a custom .NET core backend, reducing complex work on the client and unneccesary API calls to Reddit. GaryDit features several other features not available on the native Reddit Client, like random subreddits, AI integrations and OCR. In addition, I developed my own markdown parser/viewer, custom for Reddit's own Snudown implementation.
Swift
SwiftUI 5
C++
AVFoundation
Gary Portal is a social media iOS application, written entirely in SwiftUI and some UIKit modules. Gary Portal allows you to post updates on your life to your feed, chat with friends and pray to increase your points.
The live version of the app is built mainly in SwiftUI 2.0, and utilises some key iOS frameworks like AVFoundation. The app also interacts with a SignalR websocket, and an external API.
I am currently in the process of updating this app to utilise features introduced in SwiftUI, and add new features such as chat replies, reactions and more.
Swift
SwiftUI
Remote Notifications
.NET Core
Keychain
Realtime chat
SignalR
As a companion to the Gary Portal app above, I have created and maintain my own API to run the backend of the app. The system here is created using Microsoft's .NET core platform, and the EntityFramework module, a Database-Management System. The API also includes SignalR/websockset hubs, which allow clients to communicate in real time with the API
The API is secured with a JWT + Refresh token system, and only allows users to access relevant endpoints for relevant entites, so no-one can maliciously access the API.
C#
.NET Core
Entity Framework
Jenkins
Postgresql
SignalR
I have worked closely with two large gaming communities as a software developer. For both communities, I created unique 'frameworks' that expanded the multiplayer experience to allow for each user to have multiple characters, each with different roles, cars, properties and more.
My work on the frameworks included all the backend API and database management (one in C# and the other in TypeORM), the frontend UI design in VueJs, and the game logic in C#.
Working for these communities allowed me to experience loose work within a proper development team, responding to deadlines and community feedback.
C#
Vue 3
RPC
Game Logic
Junior Software Developer
2023 - Present
Intern Software Developer
2022 - 2023
Computer Science Demonstrator
2021 - 2023
Freelance Software Developer
2016 - 2019