This page is used to keep track of projects I have worked on.
Summer 2023
I completed a 13 week summer internship in Google SRE (Dublin) after my 3rd year in university. During this, I worked independently to create a metadata integrity checker. I consulted with my team, located in India, Ireland, and the USA, to design the checker from the ground up. I wrote a private API which performs 5 checks on this metadata, alerting when an error is found. I worked with another team to automate this check.
Previously, metadata errors could cause incidents without warning. My work ensured metadata issues are noticed, and allowed long term debugging of metadata errors. I added reliability against failure to an existing Google product. The API which implements the checks is easily modifiable to add more checks. The project should save up to 50 engineering hours per year. I did this work in Java, practicing CI/CD, and implementing monitoring.
Summer 2022
I completed a 12 week summer internship in Google Dublin after my 2nd year in university. In this internship, I worked with a partner to integrate server calls into a command line interface. These were required for certain commands to run. Previously, these server calls had to be done manually by calling 2 other command line interfaces before running the intended command. Our work made this tool easier and more efficient to use. I did this work in Go, and submitted over 50 commits personally, practising CI/CD.
Winter 2023
I designed and implemented Minesweeper using Haskell, a functional programming language. I used the library Threepenny to implement the front end as a web app. This also included developing an auto-player, which can automatically play the logical next move for the player.
Spring 2023
I was team lead and product owner for a project to create an ML classifier of US Legislation. Our client was legislative technology company Propylon. I managed the team of 10 to:
Winter 2022
I designed and implemented a UDP protocol using Python to allow for files to be requested and sent between clients and workers, via an ingress server. This protocol allowed for large files. This was tested with multiple clients and workers using Docker (specifically, Docker Compose). I also completed a report on this project, documenting my choices, and improvements which could be made.
I designed and implemented a flow forwarding protocol using Python. This allows for tickets to be requested, and solved by clients. These messages are sent from clients to forwarders, and finally on to the workers. Routing is organised by the controller, which uses the Floyd Warshall algorithm to find shortest paths between all points. I also completed a report on this project, documenting my choices, and improvements which could be made.
Autumn 2023 - Present
I created a personal website to document my projects (you are here!). I decided to set this up using Jekyll, a Ruby based static site generator. I chose Jekyll for ease of use. Most of the website is generated from Markdown, which is easy to write and format. As Jekyll generates static sites, this also means I can host it for free on GitHub pages.
Spring 2022
I built a tool using Java to find the shortest path between bus stops based on large scale data from the Vancouver bus system. I added a basic user interface for ease of use. The tool allows you to find the shortest path between two bus stops, search for bus stops by name, and search for trips based on their arrival time.
Winter 2022
I was the primary contributer in a team of 7 creating a dashboard to show a range of metrics about a Software Engineering team based on a GitHub repository. My role was to implement CI/CD, containerise the web-app (using Docker), and implement the database.
Winter 2021
I designed a microprocessor at gate level using VHDL and simulating using Vivado. This included microcoding the processor to do multiplication, and improving efficiency by replacing a ripple carry adder with a carry look ahead adder.
Summer 2021
In the summer after my 1st year of university, I created an Android app to turn images into cross stitch patterns, based on thread colours someone already has. I created this app using Kotlin in Android Studio.
Winter 2021
I worked with a team of 5 to program a Raspberry Pi Pico with a Morse code game. This was implemented in ARM Assembly and C. I acted as the project workflow owner, so I was in charge of organising the work within the team.
Spring 2021
I built a database and UI in Java Processing to work with and visualise COVID-19 infection rates. As well as completing my parts of the project, I was responsible for fair and appropriate distribution of the work among the group, all through remote learning.