My name is Harry Wixley

I am a Software Engineer based in London. Since graduating with First Class Honours in AI and Computer Science from the University of Edinburgh I have been working as a Software Engineer in a diverse array of technical projects and disciplines.

My key experiences include developing the full stack (frontend, backend, cloud infrastructure) for my own company's web/mobile applications, high-TRL software assurance for embedded systems, and working as a DevOps and backend engineer for a large-scale UK Critical National Infrastructure project.

My passion is problem solving, which drives me to apply coding to a wide variety of domains and areas. My primary software expertise is in backend and DevOps engineering, however, I also have experience in Machine Learning, DevSecOps, MLOps (Intel-certified), Test, Cloud (Azure, AWS, and little bit of GCP), Robotics (ROS), and Frontend (iOS, Web). My key domain expertise is in CyberSecurity and Artificial Intelligence, however, my focus on certain skills and areas is continuously changing in order to keep up with the ever-evolving world of technology and software.

I thrive in a collaborative environment and I am always looking for new opportunities to learn and adapt my skillset further. When I am not coding, I love to go rock climbing, snowboarding, and play guitar.

Experience


Technical Consultant,
Daintta
Sep 2023 - Present

Experience using Rust, Python, Docker, Bash, VSphere, Ansible, Packer, and Azure. I have worked directly with clients from an array of highly technical UK public sector departments/organisations, including: software assurance work for high-TRL embedded systems, and DevOps and backend engineering for a UK Critical National Infrastructure project.



Software Engineer,
Venn Apps
Oct 2022 - Aug 2023

Experience using Swift, Typescript, Bash, and GCP. On top of working on the API and iOS stacks, I was also responsible for building automation tools for optimizing internal workflows across all engineering teams, as well as, talking with clients to discuss the software requirements of their product.



Co-founder & CTO,
GETECH Education Ltd.
Sep 2021 - Feb 2023

Experience using Swift, AWS, Stripe, PHP, and JavaScript. For this I developed the AWS cloud infrastructure, backend RESTful APIs connecting to a MySQL DB, a prototype iOS app, and a commercial grade website. This company received over £2k in grant funding and was endorsed by Edinburgh Innovations, and Edventure.


Software Engineer (Intern),
freetobook
Jun 2021 - Aug 2021

Experience using PHP, JavaScript, MySQL, Docker, GitHub, and AWS. Agile was used to ensure robust and efficient development.


Education


University of Edinburgh,
Scotland

Sep 2018 - Jul 2022

First Class award with Honours for BSc Artificial Intelligence & Computer Science


Bishops Diocesan College,
South Africa
Jan 2014 - Dec 2017

6 Distinctions in Mathematics, Physics & Chemistry, Information Technology, French, Art, and Life Orientation


Certifications


Intel Corporation,
Certified Developer
MLOps Professional
May 2024
  • Designing and building compute-aware AI
    solutions to maximize performance
    across the AI pipeline.
  • Applying MLOps best practices to implement
    critical components like model
    version control, distributed training,
    observability, and optimised deployments.
  • Identifying opportunities to improve
    performance, quality, and user
    experience.

Canadian Association
of Snowboard Instructors,
Level 2 Instructor
Mar 2018
  • Working directly with clients.
  • Managing groups of people in a dangerous
    environment.
  • Teaching people of all ages, including kids.
  • Catering constructive feedback and lessons
    based on people's learning style.

Awards


System Design Project,
University of Edinburgh
3rd Place

The Robotical Prize
Mar 2021

DR PHIL (Disinfecting Robot Prioritising High-Interaction Locations), a fully automated door handle sanitisation robot.

Acted as the Software Leader for my team taking responsibility for: software project management, the virtual testing environment, the mobile frontend control application, the NoSQL DB backend, and the vision capability using YOLO ML models.


Coding Projects

Algorithmic
Design
APIs
Bioinformatics
Computer
Security
iOS
Machine
Learning
Natural Language Processing
Papers/Reports
Processors
Robotics & Hardware
Scripting
Software
Testing
 Back to projects

Algorithmic Design


Project

Description

Dependencies

Repository


Algorithms & Data Structures

Travelling Salesman Problem

Developing and analysing varying algorithm combinations for solving the travelling salesman problem. Algorithms developed include: Two-Opt heuristic, Swap, Greedy, and my custom algorithm Temperate. Overall the most efficient algorithm was Temperate with Swap & Two-Opt.

Operator, Random, Graph


Informatics Large Pratical

Air-quality Detection Drone Route Planner

A drone air-quality mapping system. The drone's movement is constrained to moving in fixed increments, and only angles divisible by 10. The system retrieves coordinates of air-quality data collection stations, and no-fly-zones as Geo-JSON objects from a webserver. The system then uses these to find an optimal route to pass through all the stations without going into any no-fly-zones.

MapboxSDK, JUnit


APIs


Project

Description

Dependencies

Repository


Undergraduate Thesis

REST API for secure and private data collection

I developed a NodeJS REST API server as a means to store data from my iOS data collection app securely, robustly, and efficiently. This server used IPv4-based allow-listing for security so only devices connected to my local network that had been manually authenticated could perform requests. For data storage I used MongoDB which connected to the server via a package called Mongoose.

Express, Mongoose, BodyParser, Express IP Access Control


FTP API

Simple Golang file server

A simple file-serving REST API. A user can request a file by filename, if it exists the API will return it in the response.

None


Bioinformatics


Project

Description

Dependencies

Repository


Bioinformatics

Determining the existence of the GULO gene in different organisms

Analysing the relation between: ASD-related PubMed literature and SFARI genes, the biological processes related to each of the Gene2Go SFARI gene equivalents, and the pathways of the top 2 MCL clusters from the SFARI genes protein-protein interaction network across all gene-scores.

Matplotlib, Pandas, BioPython, NumPy


Bioinformatics

Relation between SFARI genes & ASD

Analysing the relation between: ASD-related PubMed literature and SFARI genes, the biological processes related to each of the Gene2Go SFARI gene equivalents, and the pathways of the top 2 MCL clusters from the SFARI genes protein-protein interaction network across all gene-scores.

Matplotlib, Pandas, BioPython, NumPy


Computer Security


Project

Description

Dependencies

Repository


Offensive Security

Web Attacks & Encryption

Using MailX to spoof emails, WireShark to snoop and intercept internet traffic, and creating a script to perform a MITM attack on a given network.

MailX, WireShark


Offensive Security

Operating System Attacks - Buffer Overflows

Using buffer overflows to exploit a vulnerable C program. This includes overflowing input fields and injecting shell code.

None


Encryption
Steganography

Encoding/decoding of secret data in/from media files.

PIL, Numpy


OS Customisation
Ubuntu Live Boot ISO

Creating a customisable live boot ISO of Ubuntu.

None


iOS Development


Project

Description

Dependencies

Repository


SDP Group Project - DR PHIL

Software Leader

App For Robot Monitoring/Communication

An iOS app to allow users to monitor and communicate with their DrPhil robot. Including setting cleaning schedules, and getting notified if the robot is stuck.

Firebase


Undergraduate Thesis - Fall Detection

App For Data Collection

An iOS app that connects to a Polar H10 device for ECG and Accelerometer data collection. For secure and robust data storage this app connects to a custom NodeJS REST API server which stores all the data in a MongoDB instance. This server uses IPv4 based allow-listing for security.

Firebase, PolarSDK, Alamofire


Undergraduate Thesis - Fall Detection

Commercial Fall Detection App

An iOS app that allows users to connect to a Polar H10 device for live fall detection inference. Local notifications (APNs) were used to notify a user if a fall was detected, and emergency notifications (text messages) were used to notify a user's emergency contacts if a fall was detected and the user is unresponsive. This app also integrated account creation functionality in order to retrieve biometric user inputs for fall detection inference.

Firebase, PolarSDK, Alamofire, TensorflowLite


Machine Learning


Project

Description

Dependencies

Repository


Machine Learning Practical

EMNIST Convolutional Neural Networks

Width and depth experiments were performed when training these CNNs using L1/L2 penalty, and Dropout regularization techniques.

SciPy, SciKit-Learn, NumPy


Machine Learning & Pattern Recognition

Predicting CT Slice Locations

This was done by developing raw ML algorithm implementations with NumPy.

NumPy

Private Repository


Undergraduate Thesis - Fall Detection

Fall Detection using ResNet and LSTM networks

Experimentation with CNNs (namely ResNets), and LSTMS on my own fall detection dataset. The best performing model was ResNet152 with a 2s window size which achieved 92.8% AUC.

PyTorch, NumPy


Natural Language Processing


Project

Description

Dependencies

Repository


Natural Language Processing

Language Identification & PP-attachment Disambiguation,

For language identification a character-level language model was trained using the Brown corpus and tested on a Twitter corpus. This Twitter corpus had to be preprocessed and cleaned to help the model generalize across different text contexts. For PP-attachment disambiguation a Naive Bayes model with Lidstone smoothing and a Logistic Regression model with feature templates were developed.

NLTK, Numpy, Collections


Natural Language Processing

POS-tagging Using Supervised & Semi-supervised Hidden Markov Models

A Hidden Markov Model for POS-tagging was developed using the Viterbi algorithm to ensure efficient computation. The Hard-EM algorithm was also developed as a means to train this Hidden Markov Model in a semi-supervised manner, in situations where unlabelled data outweighs labelled data.

NLTK


ChatGP-Tea

Terminal ChatGPT client

A CLI for talking to ChatGPT, saving conversation logs, and turning code blocks (language agnostic) from it's responses into executable shell commands.

openai, termcolor


Papers/Reports


Project

Abstract

PDF


Undergraduate Thesis

Smart Application For Fall Detection Using Wearable ECG & Accelerometer Sensors

Timely and reliable detection of falls is a large and rapidly growing field of research due to the medical and financial demand of caring for a constantly growing elderly population. Within the past 2 decades, the availability of high-quality hardware (high-quality sensors and AI microchips) and software (machine learning algorithms) technologies has served as a catalyst for this research by giving developers the capabilities to develop such systems. This study developed multiple application components in order to investigate the development challenges and choices for fall detection systems, and provide materials for future research. The smart application developed using this methodology was validated by the results from fall detection modelling experiments and model mobile deployment. The best performing model overall was the ResNet152 on a standardised, and shuffled dataset with a 2s window size which achieved 92.8% AUC, 7.28% sensitivity, and 98.33% specificity. Given these results it is evident that accelerometer and ECG sensors are beneficial for fall detection, and allow for the discrimination between falls and other activities. This study leaves a significant amount of room for improvement due to weaknesses identified in the resultant dataset. These improvements include using a labelling protocol for the critical phase of a fall, increasing the number of dataset samples, improving the test subject representation, and experimenting with frequency domain preprocessing.


System Design Project

Personal Report

My report for the UG3 System Design Project detailing my main contributions and lessons learned while developing our autonomous cleaning robot DR PHIL.


Processors


Project

Description

Dependencies

Repository


Computer Systems

MIPS Processor Simulator

This project involved simulating a MIPS processor in C. This processor takes 32-bit binary instrucions and performs the required operation by using logic gates to parse the inputs, and pointers for dynamic memory allocation.

None


Robotics & Hardware


Project

Description

Dependencies

Repository


SDP Group Project - DR PHIL

Software Leader

Connecting to a RasPi using ROS, streaming data, and sending commands

ROS was installed on our RasPi to utilize it's useful robotic packages. This helped us configure SLAM for route mapping and planning, as well as, cleanly integrate Python scripts for custom functionalities (ie. door handle recognition, door handle sanitisation arm path planning, and door opening).

RosPy, GraphViz


Undergraduate Thesis - Fall Detection

Connecting to a Polar H10 device and streaming ECG & Accelerometer data

The Polar H10 device was connected to the iPhone via Bluetooth. The ECG and Accelerometer data was then streamed from the connected device via built-in functions from the Polar SDK.

PolarSDK


Undergraduate Thesis - Fall Detection

Commercial Fall Detection App

An iOS app that allows users to connect to a Polar H10 device for live fall detection inference. Local notifications (APNs) were used to notify a user if a fall was detected, and emergency notifications (text messages) were used to notify a user's emergency contacts if a fall was detected and the user is unresponsive. This app also integrated account creation functionality in order to retrieve biometric user inputs for fall detection inference.

Firebase, PolarSDK, Alamofire, TensorflowLite


Scripting


Project

Description

Dependencies

Repository


WYX-CLI

Terminal developer productivity tool

A BASH & ZSH CLI tool that provides developers with the ability for optimising the execution of commonly performed tasks, commands, directory navigations, and environment setups/script executions.

openssl, git


ASCII Art Generator

Terminal ASCII art generator

A CLI for creating customisable and tunable ASCII art from images.

numpy, pillow


ASCII Art Generator (Rust)

Terminal ASCII art generator

A CLI for creating customisable and tunable ASCII art from images.

image


Noisy Sensor Waveform Modelling

Mock sensor waveform signal data with tunable noise

A python script for generating mock sensor waveform signal data with tunable noise.

numpy, matplotlib, pydantic


Farey Number Fractioniser

Farey Algorithm for fractional estimations of rational numbers.

Turning rational numbers into fractional forms using concepts from the Farey algorithm.

numpy, yaspin


Software Testing


Project

Description

Dependencies

Repository


Software Testing

Functional testing, test-coverage analysis, test-driven development

Finding bugs in a java application by functional testing, analysing code coverage of the functional test cases, generating automated test cases with EvoSuite, and adding further functionality with Test-Driven Development.

JUnit, JaCoCo