Projects
Wifi Location Tracking System
Python FlaskOctober 2025 - April 2026
- Built a Wi-Fi RSSI localisation system using only a laptop and existing network infrastructure.
- Designed a PostgreSQL backend to persist scan sessions, containerised alongside the Flask application using Docker Compose.
- Built a Flask web interface with live floor plan visualisation and algorithm switching between Standard KNN, Weighted KNN, and Random Forest classifiers, with evaluation across accuracy metrics.
- Resolved an undocumented Windows Wi-Fi scan caching quirk through iterative testing and engineered a cache-busting fix.
- Validated system behaviour with a 30-test automated test suite.
Journalling Web Application
DjangoJanuary – March 2024
- Collaborated with a team of eight developers to create a Full Stack journaling web application using TDD.
- Integrated multimedia file support in the Django backend with Ckeditor, following Agile methodology with regular meetings and progress checks.
- Designed a responsive HTML/CSS frontend, implementing features like a Redis-powered daily reminder for journal entries.
- Added habit-building features, including gym tracking, study logs, expense tracking, and customisable templates, facilitating hundreds of users.
Evil Wordle Game
ScalaNovember 2023
- Developed an alternative implementation of the popular Wordle game, but with the hardest possible words to guess.
- Implemented key features such as reading the frequency of letters from files to ensure the most obscure are chosen.
- Strengthened knowledge on functional programming concepts and ensured all functions ran under 30 seconds.
Task Manager Web App
DjangoNovember 2023
- Collaborated with a group of five to create a Django task managing application to manage projects and tasks for hundreds of users, whilst implementing an Agile methodology.
- Incorporated version control tools such as GitHub to manage branches and merge correctly.
- Consistently scheduled and took notes during weekly meetings whilst practicing the four foundational behaviours.
- Maintained effective weekly accountability sessions, requirements gathering, automated and coverage testing.
Shogun Game Simulation
ScalaNovember 2023
- Predicted the movement of different pieces on a Shogun board, as well as returning all dangerous positions for a given piece.
- Assigned different 'energies' for Pawns (1-4) and Kings (1-2), limiting their scope of travel.
- Increased understanding of fundamental functional programming concepts, and further developed logical problem solving skills.
Compiler
ScalaNovember 2023
- Created functions to compute, run and generate programs in the BF language.
- Developed a working compiler to precompute and eliminate any dead code from program inputs.
- Optimised inputs to work most efficiently on modern CPUs through encoding and replacement techniques.
Handwritten AI Digit Recognition
PythonOctober 2023
- Created a real-time handwritten digit recognition application, using Convolutional Neural Networks (CNNs) and the MNIST dataset.
- Engineered an intuitive GUI, enabling users to draw digits for immediate recognition, integrating the Keras deep learning library and Tkinter for GUI development.
API
DjangoSeptember 2023
- Developed a low-latency RESTful API for a note-taking web application, using Django.
- Implemented CRUD functionality for notes, enhancing user experience.
- Expedited the process to creating a robust and user-friendly web application back-end.
Cell Simulation
JavaMarch 2023
- Conducted a simulation project in Java involving multiple groups of cells over hundreds of generations.
- Included features such as non-determinism and symbiosis by incorporating different classes and conditions with associated probabilistic weights.
- Performed continuous testing to ensure functionality and specifications were met.
London Covid Data Viewer — Group Project
JavaFXMarch 2023
- Collaborated with a team of four with an Agile methodology, working on specific panels of a GUI application displaying Covid data using JavaFX.
- Developed condition-dependent buttons that would switch between panels, as well as selectable drop-down boxes to incorporate a date range.
- Maintained effective collaboration and weekly communication, requirements gathering, and automated testing.