Projects

Unfortunately, I'm not able to open-source some of these projects as they were developed as part of university courses or with third-party clients.

For work-related projects, see experience.


Staff Workload Tracker

Technologies: Python, Django, Tailwind, Docker

Course: CS4525: Computing Science Projects

Django website for managing staff workload in a university environment. Gave a best-effort algorithmic allocation of staff to tasks dependent on available bandwidth. Supported different types of staff contract and employment hours, as well as different types of courses, projects and administration tasks for precise estimate calculations. Implemented role-based authentication to allow multiple system administrators, with group-based ownership of activities to allow for more granular control.

Supported for both mobile and desktop use. Formerly deployed on an Ubuntu server.


SHA-512 Hash Cracker

Technologies: Python, C++

Course: CS4028: Security

Developed and tested a SHA-512 hash cracking application in both Python and C++ as part of my Security coursework.


Healthify

Technologies: Python, Flask, Bootstrap, JavaScript, React, Docker, PostgreSQL

Course: CS3028: Principles of Software Engineering & CS3528: Software Engineering and Professional Practice, Group Project

Healthify was an all in one health monitoring application platform for clients to track users on lifestyle medicine programmes, tailored around those with chronic conditions.

The application featured easy-to-use logging systems, gamification and image storage for users, as well as a fully functional administrator config and transactional email service. The application allowed for easy control of data and account deletion and was delivered through a React Progressive Web App, which supported both mobile and desktop use.

The project was developed as part of a team that used agile development principles. I led implementation of industry-wide standard practices, including CI/CD, kanban boards and ran pair-programming sessions.


Cinema Showing Tracker

Technologies: Python, Django, Bootstrap

A collation tool for showtimes and films at Scottish Cinemas which allowed me to schedule my trips more efficiently. Contains automatic data collection from the Cineworld API, and used Selinum and BeautifulSoup4 for data collection through other cinema websites. Used a simple relational database design for lookup transactions between film, cinema and showtime relations.

Screenshot of Cinema Showtime Tracker

Cinema Showtimes.

Drone Delivery

Technologies: Python, C++, ROS2

Course: CS4048: Robotics, Group Project

A drone simulation using ROS2 and Webots. Included an A* algorithm planner for finding optimal routes which simulated pharmacy and drop-off locations for real-life usage.

Video demonstration of the Drone Delivery project.

Radio Data Analysis

Technologies: Python, Google Sheets

Collation of public data using nkd.su API. Data collection was performed through Python, with collation and processing done through MS Access. Analysis was done in Excel and Sheets.


Klotski Solver

Technologies: Python

Course: CS2522: Algorithms and Data Structures

Solver for Sliding-block Puzzle Solver Project as part of Algorithms and Data Structures course. Solved all example puzzles within 60 seconds.


Greg

Technologies: JavaScript

Website to allow students to calculate their grades based on smaller assessments (not guaranteed to improve your grades). Based on a project by kittsville.


GrecCleaning

Technologies: Python

A small program to clean Scottish Census data for Grampian Regional Equality Council.