A picture of myself

Hey, I'm Tom - a junior fullstack software developer at Mountain Warehouse, working in London, UK. I work mainly with React.js, Next.js, Typescript and C#/dotnet.

About Me:

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.

My Projects:

Go Travel - iOS

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

Image displaying some screenshots of my GoTravel iOS application. Screenshots include a picture of some statuses of various London Underground lines, a screenshot detailing a problem on the Elizabeth Line, and a screenshot of a page asking a user for a destination station to create directions to.

GaryDit - iOS + MarkDownView

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

A screenshot from 'GaryDit' - a reddit client. Shows the 'All' feed with 2 posts, one with a picture saying 'showing the scale of the milkyway' and one half cut off post, showing a tall video, with the visible text 'baby has hilarious reaction to kiwi'

Gary Portal - iOS

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

Three screenshots of the 'GaryPortal' app. The middle shows a profile page - several cards laid out vertically, with info on the user including their name and profile picture. The left shows a vertical feed of shared posts in a 'feed'. The right shows a chat between 2 users.

Gary Portal API - .NET Core (C#)

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

An image of the .NET core logo, the Visual Studio logo, and an image containing the text 'REST API'

FiveM communities 'frameworks' - C# / Vue3

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

An image of a frontend UI displayed inside the video game GTA V. Image is a character selector, allowing the user 'Tom K' to select from a list of characters they have created.

My Skills:

Professional:

Skills I have experience in through professional work, in addition to side projects.
The Git LogoGit
The React LogoReact
The Next.js logoNext.JS
The .NET logo.NET
The React/React Native logoReact Native
The Javascript logoJavascript
The Typescript logoTypescript
The Mongo LogoMongo
The RabbitMQ LogoRabbitMQ
The Azure LogoAzure
The HTML logoHTML
The CSS LogoCSS
The SCSS logoSCSS
The Docker LogoDocker
The Jenkins LogoJenkins
MSSQL LogoMSSQL
The BigCommerce LogoBigCommerce
The Stripe LogoStripe

Hobby:

Skills I have experience in through side projects / hobby work only
The Swift LogoSwift
The SwiftUI LogoSwiftUI
The Mapbox LogoMapBox
The Vue LogoVue
The C++ logoC++
Unreal Engine LogoUnreal Engine
The Unity logoUnity
The Go language logoGo
SignalRSignalR
The Linux LogoLinux

Experience:

Mountain Warehouse

Junior Software Developer

2023 - Present

Mountain Warehouse

Intern Software Developer

2022 - 2023

Queen Mary University

Computer Science Demonstrator

2021 - 2023

Various Clients

Freelance Software Developer

2016 - 2019

Education:

Bachelor of Science - Computer Science with Industrial Experience

First Class with Honours

2020 - 2024
  • Completed Year in Industry at Mountain Warehouse where I continued after graduating
  • Achieved First Class Honours
  • Completed modules on compilers, object oriented programming, networking, security and more
  • Completed demonstrator/teacher assistant style work for younger years
Queen Mary University of London Logo

Queen Mary University of London

Contact Me

Feel free to contact me at [email protected] or: