Projects
Burst My Bubble
May 2019 - June 2019
This was our end of second year group project, where the brief was to create a webapp.
We decided to create a news feed with a difference. The aim was to encourage people to change up their
news sources and read some new material in order to "Burst their Bubble".
We wrote it using React for the frontend and Python/Java for the backend, and used a MongoDB database.
Find some screenshots of our application in action here.
WACC
January 2019 - March 2019
This is our second year compilers project, where we are creating a compiler for a programming language.
We wrote the compiler in Kotlin.
Unfortunately, the code for this project cannot be shared, as the task will be reused in future years.
Automatic Monzo Receipts from Gmail
January 2019
This app was created as part of Cambridge Hack 4D.
It displays recent transactions to the user, and if the user clicks the "Add Receipt" button,
then it will use the Gmail API to scan their emails, find the correct one, and gather the receipt data,
adding this to the Monzo application. It is also possible to have pictures of receipts if they are physical
and not in the emails, and then the same algorithm is run on the text data gathered from the receipt using
Microsoft Azrure OCR to get the equivalent information and add it to the transaction in the Monzo app.
More hackathon submission can be found here.
The repo can be found here.
Pintos
October 2018 - December 2018
This was our 2nd year operating systems project, where the task was to implement different parts of an operating system, including scheduling, user programs and virtual memory.
This project was written entirely in C.
Unfortunately, the code for this project cannot be shared, as the task will be reused in future years.
MentorMe
September 2018 - November 2018
We created a project as part of the Facebook Hack-a-Project with the aim of "Bringing Communities Together".
Our application is a mentoring application which allows people with valuable skills and experiences to trade
that knowledge for knowledge from others. It was built using the MERN stack (MongoDB, Express, React and Node.js).
The repo can be found here.
C Project
May 2018 - June 2018This project was completed in the final term of my first year undergraduate studies.
It entailed creating an ARM11 Emulator and Assembler in C, then using these in combination with a Raspberry Pi
to control an LED.
The final part of the project was the extension, where we chose to recreate the classic game of snake on a
32x32 LED matrix.
We did this by using a hat fo the Raspberry Pi to connect it to the matrix, and created 4 modes for the game,
one of which was an Artificial Intelligence.
We also created an arcade-machine inspired box for the project, and created all of our own sounds too.
Unfortunately the code for the emulator and assembler cannot be shared here as the task will be reused in
future years, however more information on our extension can be found here.
Deep Learning in Medical Imaging Analysis
January 2018 - March 2018This project was undertaken as my first year group project, and involved creating a website discussing the
uses of AI in Medical Imaging Analysis.
Our main areas of research were to look into the history and evolution of medical imaging and machine learning
as separate topics, and then find areas in which they overlapped.
We looked at Convolutional Neural Networks, along with Semantic Segmentation, as these are the most
commmonplace in medical imaging.
We then looked at overlapping topics, these being the uses of AI in radiology, and a deeper case study into
the user for detection of lung cancer.
We had to create a website to display all of this information, which can be accessed here.
To What Extent are Computer-Assisted Proofs Valid?
September 2016 - May 2017This project was completed as my Extended Project during my A Level studies, and discussed the controversy
over computer-assisted proofs.
At the start of this project, I was unfamiliar with the area of computer-assisted proofs, and mathematical
proofs in general for that matter.
I decided on the topic because my mathematics teacher had discussed it in a lesson and I was curious to find
out more.
He mentioned that many mathematicians, to my surprise, did not agree that a theorem which had been proved
using proof by exhaustion on a computer was legitimate.
I did not understand their reasoning behind it not being a proof, because I presumed that if every case was
proved to be true, then the proof would have to be valid.
That is why I became interested in the subject, and when that chance to write a project on the topic arose, I
decided I wanted to consider it further.
My dissertation can be found here.
A Level Computing Project
June 2016 - March 2017This project was mainly undertaken during the second year of my A Level Computing studies, with the task to
create a mobile application.
I decided to create an app which could generate random GCSE-level mathematics questions for students so that
they could test their knowledge.
It could also check to see if their answers were correct, and had other features such as a leaderboard with
friends, and streaks to encourage daily use.
I made the application for iOS devices, and so had a lot of experience with the Swift programming language and
XCode.
This project was a fun way of teaching myself a new programming language from scratch, as I was never taught
it in a formal environment.
This meant I became used to using manuals for the language to look up syntax and specific features of the
language, which was a great learning experience.
The source code for the application can be found on my GitHub here.