I enjoy making things. Here are a selection of projects that I have worked on over the years.
A modular Python library for creating, solving, and visualizing job shop scheduling problems. Includes a highly customisable reinforcement learning gymnasium environment to solve the problem sequentially with graph neural networks Followed good software engineering practices: modular design (SOLID and \textit{Clean Code}’s principles), automatic tests, linting, and documentation page Being used by the community: 58 stars and eight contributors.
Generative adversarial framework to produce larger, harder Job Shop Scheduling Problem instances plus a novel difficulty metric.
RAG and extractive QA pipelines to answer natural language questions over entire YouTube playlists.
Educational framework with vectorised dynamic programming and double Q-learning solving classic control problems.
Educational deep learning library implementing core layers, activations, optimisers, and training loop with NumPy only.