What I work with
Experience
Senior Software Engineer
Dec 2025 - Present
Remote (UK Based)
Full-stack engineer responsible for designing, building, and deploying features across the Dsposal platform, delivering responsive user experiences and data-driven improvements.
Senior Software Engineer
Dec 2024 - Dec 2025
Remote (UK Based)
Software Engineer
Dec 2021 - Dec 2024
Remote (UK Based)
Full-stack engineer responsible for designing, building, and deploying features across the Dsposal platform, delivering responsive user experiences and data-driven improvements.
Junior Software Developer
Jun 2021 - Dec 2021
Remote (UK Based)
Worked to improve operations and capabilities for the teaching team across their learning platform, including updating the content management system, developing new features, creating automations, and mentoring a fellow junior developer.
Server Developer & Moderator (Volunteer)
Jan 2018 - Feb 2020
Remote (UK Based)
Developed and maintained custom scripts for the FiveM server using Lua, collaborated with the community and staff to implement new features, moderated player interactions, and optimized server performance.
Open Source Contributor
May 2012 - Present
Contributing to open source projects and maintaining personal repositories.
LiveMap
May 2017 - Apr 2025
This is the "backend" code for the live_map addon for FiveM that is ran on the FiveM game server. It creates a websocket server so that it can communicate to the web interface. This part of the project also sends player's locations to the interface so that it can display the players. The resource was originally written in C# however, I thought JS would be a more fitting language as it's simple and common. Meaning if someone wanted to modify the resource or, just see how it works, they should be able to this a lot easier than C#.
LiveMap Interface
May 2017 - Apr 2025
The web interface for LiveMap. This is the main part of the LiveMap project that handles showing the information sent to it via websockets. It's written using ES6 syntax so, it uses Parcel and Gulp to bundle and transpile ES6 to a JS syntax most browsers support.