Click on the images for more information.

September 2020

A day in the life of...

While part of dunnhumby UK's 2019 tech graduate scheme, I decided to make a video outlining my daily routine at work.

The video was aimed at anyone who was contemplating either joining dunnhumby UK or returning to our offices.

I have also uploaded it as a private YouTube video for the sake of reference.

June 2019

Machine Learning for Cloud and Distributed Computing

As the Final Year Project of my MEng Electrical and Electronic Engineering degree from Imperial College London, I developed machine-learning techniques to monitor and predict resource utilization and availability on a very large number of computers in cloud computing and distributed environments.

My supervisor for the project was Professor Kin K. Leung. My second marker for the project was Doctor Wei Dai. This project was part of the US-UK ITA project.

I discussed my findings in my final report.

All the data used for this project has been voluntarily published by Google. The usage trace is located in a public Google Cloud Platform bucket . All code related to the project is publicly avaiable as well, at a GitHub repository.

February - March 2019

Synthetic Handwritten Digits

As part of a university module, a peer and I trained and tested Generative Adversarial Networks (GAN) to generate synthetic handwritten digit images, utilising the MINST dataset.

We discussed our findings in a report. All relevant code can be found in the associated GitHub repository.

January - March 2019

Patch Descriptor

As part of a university module, I used de-noising and representation learning for generating a patch descriptor. The HPatches dataset was used for benchmarking.

I documented my findings in a final report. The code for all the models is stored in a GitHub repository.

January - February 2019

Image Categorisation

As part of a university module, a peer and I pursued a bag-of-visual-words approach to the multi-class image categorisation problem, using a subset of the Caltech 101 dataset.

We discussed our findings in a report. All relevant code can be found in the associated GitHub repository.

February 2019

Finite Deterministic Automata

As part of a university module, I constructed finite deterministic automata in order to model a robot moving inside a map.

I shared my calculations in a report.

February 2019

Fair Value Estimation of the S&P 500

As part of a Corporate Finance university module, our team of 6 people estimated a Fair Valuation of the S&P 500 Index using the Dividend Discount Model.

We summarised our methodology and results in a report.

October - December 2018

Identity Matching

As part of a Pattern Recognition university module, a peer and I investigated several approaches to the problem of identity matching. The CUHK03 dataset was used for experimentation.

Among the different methods were k-NN, k-means, MMC and LMNN.

We documented our findings in a report. The code to reproduce the results can be found in the submission branch of the repository.

October - December 2018


As part of a Human Centred Robotics university module, our team of 7 people designed and constructed an autonomous vehicle called MailBot.

Mailbot was created to serve as an internal mail delivery system for the a departmental building at Imperial College London. It is a prototype solution to the challenges presented within the 'Final Mile' of delivery.

We wrote a design report, presenting the research for the design of the robot.

We also wrote a final report, justifying the design decisions made based on the hypotheses that MailBot seeks to test.

November - December 2018


CryptoNote is the open-source protocol behind Monero, a privacy-focused cryptocurrency released in 2014.

As part of a coding theory coursework, my team of 4 conducted an analysis of the CryptoNote v2 whitepaper. The paper outlines an alternative electronic cash system, with the aim of solving what the authors believe to be the main deficiencies of Bitcoin.

The delivery of the assignment was through presenting a deck of slides that summarised our findings. The grade I personally achieved was 23/25.

October 2018

Facial Recognition

As part of a university module, a peer and I investigated several approaches to the problem of facial recognition. Principal Component Analysis (PCA) and Linear Discriminant Analysis (LDA) were used for dimensionality reduction, and methods such as Nearest Neighbour (NN) were used for classification.

We described our research on the methods to maximise recognition accuracy in a report.

August 2018


MetaGo was a MetaSwitch Networks "Vacathon" (3-day-long hackathon) project with the aim of automating canteen transactions.

First, it identified people by comparing them against a database of company directory pictures. Then, it captured the barcodes of the items they took and charged them the approptiate amount.

The hackthon was concluded by our team of 5 preparing a Pitch Deck and presenting our product to the judges. We won the hackathon.

The project has been described in further detail in my Final Placement Report. The codebase for the project can be seen on GitHub.

March 2018

SMS Spam Filter

I researched the efficacy of different machine learning algorithms for the given dataset on whether an SMS was spam or not.

All the code (in Python) used for the research can be found on GitHub along with my solutions to excercise questions (in MatLab). I also wrote a report on the project.

February - March 2018

Brushless Motor Control

As part of the module Embedded Systems, our team of 4 was tasked with writing real-time firmware for precise control of a brushless motor.

Considerations included race conditions, deadlocks, shoot-through, volatility, memory allocation, scheduler jitter, aliasing and cut-off frequency.

January - March 2018

ARM Emulator

As part of the High Level Programming university module, I built an ARM7TDMI emulator.

The coursework achieved an A. The code along with my solutions to excercise questions can be found on GitHub.

January - February 2018


Flexo is an IoT device that helps patients get physically stronger. The hand therapy activity tracker transmits the collected data to a mobile app, ready to be shared with professionals as well as the patient.

The code is publicly available along with a Pitch Deck for the product.

October - December 2017

VR Cafe

VR Cafe was a start-up company with the mission of provisioning an economic and technologically advanced platform for enthusiasts to socialize and collectively enjoy their passion for Virtual Reality. It was created by me as part of the Imperial College Business School module Entrepreneurship Online.

My team consisted of 6 people and delivered a Business Model Canvas, a Business Plan, a Pitch Video and a Pitch Deck, achieving an A* overall.

July - August 2017

Voice of Young Science Videos

During my internship at Sense about Science, one of my contributions was the production of 5 videos for their YouTube channel. 4 of these videos were related to Voice of Young Science (VoYS). VoYS is a unique and dynamic network of early career researchers across Europe committed to playing an active role in public discussions about science. The 4 videos concerned the nature of peer review. I was resposible for all the graphic design and video editing necessary. The playlist has since been published, and has more than 250 combined views.

2016 - 2017


By using μBoard, an external mathematical keyboard, symbols that mathematicians and scientists frequently use are more easily accessible.

μBoard was my product proposal as part of a second-year project module at Imperial College London . I was one of the 2 software developers in the team. We authored an Interim Report and a Final Report , pitched our product to a technical audience, and designed a website. Later, in June 2017, part of the team including me applied to the Enterprise Boost Grant, and won £2000.

January - March 2017

Numerical Analysis Coursework

The tasks undertaken involved analysis of ordinary differential equations and partial differential equations. The mathematical problems were placed in the context of electrical engineering applications. The analysis methods were implemented via Matlab. A final report was submitted detailing the analyses.

The tasks were given as part of a second year mathematics module. It was undertaken in collaboration with 4 teammates.

The team achieved an A* through a comprehensive report.

February 2018

Facebook Hackathon 2018

I participated in the London branch of the Facebook Hackathon 2018 as part of a group of 4. We built an app that tweaked faces in photos to exaggerate or express certain emotions. We came in third place by winning the honourable mention title. The code for the project can be found on GitHub.

December 2016

Fast Multiplier

I implemented a 64 bit * 64 bit → 128 bit fast multiplier in ARM assembly using only fundamental assembly instructions.

The code along with my solutions to excercise questions can be found on GitHub.

2015 - 2016

Project EEBug

As a first-year coursework at university, students were asked to build autonomous robots that would follow a track marked in fading greyscale, with extra functions gaining extra marks.

Approximately a month into the project, we submitted a management report . Towards the end of project, we submitted a design report detailing our methodogies and justifying our design choices. In the end, we were one of only 3 groups who had successfully built a fully analogue line-follower.

2015 - 2016

2048 Assignment

A first year assignment in my university degree was to build a game similar to the viral 2048 app. We were given restrictive specifications, but also had plenty of room for creativity and improvements. We needed to take into account all possible edge cases. Good coding practices and versatility of our code were also taken into account for marking.

The game was programmed in C++. A program report was authored, explaining how the code functions in detail. It includes a review of the program and prospects for improvements.

June 2015


Robot-sumo, or pepe-sumo, is a sport in which two robots attempt to push each other out of a circle.

I was able to win first place out of more than 10 contestants.