Close

About Me

Hi! I'm Callum, a machine learning engineer with 3 years of industry experience building systems to meet business needs. In that time, I've worked on - histopathology image prediction tasks (segmentation, classification, object detection) - NLP systems for information extraction across scientific literature to expand our internal knowledge graph and answer internal queries. - LLM related tasks, such as foundational model dataset creation, and agent work to create structured datasets, as well as query SQL and SPARQL databases.


I take great pride in the quality of my work, spending my first few years in industry paying particular attention to the craft of writing code and building systems that are easily maintainable and flexible to new requirements, while keeping momentum high in the team. I hosted a fortnightly journal club on good software engineering practices to encourage high quality code across the department.


In my personal time, I've become somewhat of a fan of semantic web technologies since joining a knowledge graph team professionally. I'm interested in the interplay between curated structured data conforming to self-describing standards, and LLMs' abilities to query this data autonomously. I maintain a personal knowledge graph as part of this aim. I'm also learning rust in my spare time to facilitate contributing to SPARQL based projects to host this data.


Unfortunately my Github hasn't been used much since entering professional life, hence not reflecting the best practices I've picked up in the last few years. Please consider this page as an archive of my pre-industry academic work. I plan to share rust projects and LLM based work in the coming months however!

Projects

On Stylistic Differences Between 3D Meshes

Masters Dissertation: Research project investigating the efficacy and flexibility of gram matrices over existing techniques in the context of identifying regions of style similarity between 3D shapes. Saliency maps are generated through backpropagating differences in style representations between shapes, and are visualised via mesh colouring.

View Project

Exploring real-time object detection and multi-label classification with Dobble

Undergraduate Dissertation: Full implementation of a custom bounding-box detector for the card game Dobble in Pytorch. Includes data collection and preprocessing using openCV, manual annotation, and data augmentations using random card rotations and backgrounds. Single-Shot-detector based model implemented for card localisation, followed by a multi-label classifier for icon recognition. Packaged as a user-facing application, achieving superhuman performance at over 95% accuracy at 25 predicted frames per second.

View Project

Denoising Radon Transforms using UNet-based deep models

Analytical solutions to the Radon transform require adequately sampled data, producing distinctive radial noise patterns in non-ideal conditions. Deep learning models for denoising are compared to classic regularisation methods, showing greatly improved results. Gradients from analytical solutions are also incorporated into the deep network leading to further improvements.

View Project

Neuro-Evolutionary algorithm for agent control in Snake

A feed forward network takes as input 3 simple proximity sensors to predict future agent movement. The neural network is optimised through simulating a population of agents, followed by reproduction, mutation, and recombination of network neurons. Performance is shown to increase over time, optimising for snake length and efficiency.

View Project

Education

University College London

Sept 2019 - Sept 2020

Masters in Machine Learning - Distinction with 89% average

Sample of modules taken:

University of St Andrews

Sept 2016 - June 2019

Bachelor of Science in Mathematics - First Class Honours

Dean’s list for academic excellence awarded for all three years of study

Sample of modules taken:

Experience

GSK

Machine Learning Engineer - Full Time

Hamilton Branding

Full Stack Web Developer - Part Time

Built websites for 8 business clients. Custom store location map solution using MySQL, php and Google Cloud.

Total Treasury

Data Analyst - Internship

Visualised colleagues’ positions from real-time Bloomberg API data. Summarised financial news in a weekly report read by company executives.

Skills

Get in Touch