An interactive map to visualise travel within the UK, allowing users to mark areas as lived, stayed, visited, stopped, passed through, or never been. The selected areas are filled with corresponding colours, and the UK 'level' is dynamically updated. The map supports persistence via local storage and offers the option to download and share with others.
A cross-platform calorie counting app designed for minimalism and simplicity. Provides a beginner-friendly method to track nutrition by focusing on the essentials, eliminating detail such as macros and meal times. Started this project to learn mobile development and interface design.
Led an 8-person team of computer science students in a year-long university group project, developing a mobile app free of charge for industry partner, Lots For Tots - an organisation which supports 26,000 families as of 2024. The app connects parents with nearby children's events and has integrated accessibility, offering visual comfort options and filtering events by SEN and wheelchair access.
We created interactive prototypes and iteratively gathered requirements and user feedback to guide app design. Using Scrumban, paired programming and code reviews, we maintained high code quality. We showcased our work to academics, industry leaders and peers.
University project to develop a multi-threaded process simulator in C using the POSIX API on Linux, incorporating key operating system principles such as process scheduling, concurrency control, and resource management. The simulator manages process creation, execution, and termination using a process table, priority-based scheduling, and linked-list-based queues for ready, I/O, and terminated processes. It supports both preemptive and non-preemptive scheduling, with processes running in a round-robin or FCFS fashion depending on priority. Semaphores and mutexes are used for synchronisation.
To simulate real-world execution, the system includes an I/O daemon to handle blocked processes, a booster daemon to prevent starvation, and a load balancer to distribute workloads across multiple CPUs. Achieved 96%, 12.6% higher than the average score among students who completed all coursework components.
University project to improve an unfinished Java implementation of Snake, focusing on refactoring, feature additions and maintainability. Restructured the codebase to enhance readability and modularity, optimised event handling and game logic, and introduced new features such as a score board, improved collision detection, smoother animations, and persistent, customisable settings. The project adhered to OOP principles, followed the MVC design pattern, and maintained best practices in version control.
University project to build a website to enable users to search and manage movies and actors within a MySQL database.
Reversi
|
2023
University project to develop the Reversi board game in Java using the MVC design pattern. The game features an AI opponent which greedily chooses the best available move. Achieved 100% mark.
University project to utilise a dataset of patient data to build machine learning models for predicting whether a patient has heart disease using the sklearn, matplotlib, numpy and pandas libraries. Applied exploratory analysis and several pre-processing techniques, followed by building and evaluating both a decision tree and neural network. Achieved 96% mark.
Graph Network Optimiser
|
2022-2023
Multi-module coursework to create a graph library using linked lists, a TCP/IP network server to manage a graph of a network of networks and query the next hop, and to implement Dijkstra's algorithm to optimise packet routing between networks.
Programming and Algorithms
|
2022
A series of courseworks written in C, ranging from calculating and printing Pascal's triangle to implementing shunting yard and classic sorting algorithms.
Systems and Architecture
Assembly
|
2022
A series of courseworks written in Assembly, ranging from hello world and fibonacci to a text formatter. The formatter reads keyboard input and outputs formatted text real-time within a specific column width, handling line breaks, newline resets, and preventing word splitting.
Computer Fundamentals
|
2022
University coursework to implement a C network client to fetch multiple "Quotes of the Day" from a server.
Three web projects I built during the Girls Who Code Summer Immersion Program in 2022, a two-week virtual program sponsored by Morgan Stanley. This was my first formal introduction to HTML, CSS and JavaScript and putting these skills into practice, including adherence web content accessibility guidelines, such as colour contrast and alt text.
1. An 'activist website' to spread awareness about a global issue - I chose electric vehicles (EVs)
2. A personal website
3. A BuzzFeed-style 'personality quiz' - I chose summer vs winter