he/they
Software Technician, AGH Engineering, York
ORBIT is a Django web app providing users with detailed information on assets, currently those responsible for signalling power within Network Rail’s North & Eastern Route, allowing for the assets to be plotted on a map and displayed in a signalling power diagram, in addition to presenting assets’ insulation monitoring data in a more human-readable format. Took ownership of the project upon joining AGH which had been started by a year in industry student, led a team to design & implement further improvements necessary to prepare the software for launch, and worked with the client to lead a scheme to gather and prepare large amounts of data to be uploaded to the service. Identified further improvements and features to be added to the software after launch to improve user experience
Led a team to develop a web service to use for AGH’s timesheets, capable of automated fatigue management calculations compliant with Network Rail requirements, converting hours worked into billable hours and automatically adding them to WorkflowMax via an API
Upon request of Network Rail, designed and developed a piece of software to demonstrate two methods of presenting data on historical and planned works. The software allows users to identify conflicts in work, such as when two pieces of work are planned at the same location at the same time. It is believed that this study could later be developed into a tool to be used within Network Rail
Worked as part of a team to create a “Mars rover” using the Lego Spike kit, and a corresponding digital twin. Implemented a message system for hub-to-hub communications using Pybricks’ Bluetooth data broadcasting feature. Wrote rover logic, including an emergency stop system, using the MicroPython-based Pybricks API
Used PyTorch to create a convolutional neural network to classify hand drawn tree symbols, and created a generative adversarial network to generate tree symbols of specific classes, including interpolation between samples. Completed as part of a module on probabilistic & deep learning
Training set:
Generated images:
Interpolation between images:
Implemented the AC4 algorithm for arc-consistency in Python, and tested my implementation using instances of the N-Queens problem. Created a representation of a supply chain problem in EssencePrime, such that a constraint solver could be used to find the optimal solution
Used the Eclipse Modelling Framework to create a domain-specific language (DSL) for documenting and implementing questionnaires. Created a Sirius-based viewer for the graphical representation of questionnaires written in my DSL. Used the Epsilon family of scripting languages to validate and automatically create functioning Java implementations of a questionnaire written in my DSL
Identified ideal streets for pedestrianisation, using Python and data from OpenStreetMap to estimate the importance of streets using the Eigendata Centrality, and performed simple traffic flow analysis to estimate the impact of closing important roads to vehicles
Part of a team with no previous game development experience who developed a 2D game in Java based on a list of requirements, and improved a game created by another team. Learned to use LibGDX, use Git, and work as part of a remote team based in multiple countries
View at Team’s website and GitHub Organisation
Managing an Ubuntu server acting as a NAS, personal VPN, and web server. Required understanding of Linux, Docker, and networking, along with a commitment to maintenance and troubleshooting
Developed a set of tools to streamline the menus of restaurants and fast food businesses. Used Java and SQL to analyse a set of menus, recipes, and sales data to identify ingredients required for dishes that make a low overall profit. The tools considered the cost to purchase ingredients, the price of dishes, and the sales figures for every dish