Projects

Selected work across analytics, machine learning, statistics, and AI

Overview

My project work spans commercial analytics, machine learning, statistical modelling, model deployment, bioinformatics, mining analytics, and modern AI engineering.

I have intentionally separated professional work from public learning and portfolio projects. Some commercial projects cannot include source code or proprietary data, but the problem, approach, and technical contribution can still be described.

Modern AI Engineering

Modern AI Learning Repository

I am building a practical repository to strengthen my understanding of the systems behind modern AI applications.

Rather than focusing only on prompts, I am working through the architecture of AI applications step by step.

Current progression

  • Generative AI and LLM fundamentals
  • API-based LLM applications
  • Local-model workflows
  • Retrieval-Augmented Generation (RAG)
  • Knowledge retrieval and grounded generation
  • Tool calling
  • Agentic AI and multi-step workflows

A major theme in this work is understanding when an LLM should answer from general knowledge versus when it should remain grounded in an authoritative knowledge base.

View repository View GitHub profile

Applied Machine Learning

Bank Customer Churn Prediction

Problem

Identify customers who are at risk of leaving a bank and provide interpretable predictions that can support retention decisions.

Approach

  • Prepared and analysed customer data.
  • Built an XGBoost classification model.
  • Deployed the model in a Streamlit application.
  • Used ELI5 to provide model interpretability and help explain individual predictions.

Skills demonstrated: Python · pandas · XGBoost · Streamlit · ELI5 · classification · model interpretation


COVID-19 Classification with Bayesian CNNs

Problem

Standard deep-learning classifiers may provide confident predictions without communicating uncertainty. In a health-related setting, that limitation can be important.

Approach

  • Built a Bayesian Convolutional Neural Network for COVID-19 lung-image classification.
  • Used probabilistic modelling to quantify uncertainty around predictions.
  • Compared the Bayesian approach with standard CNN behaviour.
  • Published the work as a peer-reviewed Springer book chapter.

Skills demonstrated: Python · TensorFlow · deep learning · computer vision · Bayesian inference · uncertainty estimation

View publication

Mining & Industrial Analytics

Digitizing Mining

This project focused on converting complex mining documents into analysable information and building applications that could support mining stakeholders.

Methods and techniques

  • Topic modelling
  • Text mining
  • OCR
  • K-means clustering
  • Regression analysis
  • Data visualisation
  • Analytical web applications

The project combined unstructured text, statistical analysis, machine learning, and application development.

Recognition: 1st Prize, University of the Witwatersrand Mining Digital Hackathon (2022)

Tools: R · NLP · OCR · clustering · regression · data visualisation


Mining Process and Flotation Plant Analysis

This project explored industrial process data from an iron-ore flotation plant.

The analytical target was the percentage of silica impurity in the ore concentrate, using process variables sampled at different time intervals.

The project required thinking about:

  • time-stamped industrial sensor/process data
  • different sampling frequencies
  • feature relationships
  • predictive modelling
  • how predictions could support earlier corrective action

Skills demonstrated: industrial analytics · time-series/process data · regression · EDA · predictive modelling

Statistical & Customer Analytics

E-Commerce RFM Analysis

Used Recency, Frequency, and Monetary Value (RFM) analysis to segment customers and identify groups such as high-value customers, at-risk customers, and customers requiring re-engagement.

The focus was not only on calculating scores, but on translating the segments into actionable customer-engagement strategies.

Skills demonstrated: customer segmentation · RFM · EDA · business interpretation


A/B Testing for Website Themes

Compared website themes using engagement and conversion metrics.

The analysis included:

  • click-through rate
  • conversion rate
  • bounce rate
  • hypothesis testing
  • t-tests
  • effect-size interpretation

The project also included a Shiny dashboard to present results interactively.

Skills demonstrated: hypothesis testing · A/B testing · statistical inference · Shiny

API & Data Collection Exercises

Spotify API

Built Python scripts to authenticate against the Spotify API and retrieve information about artists, tracks, albums, playlists, and recommendations.

Skills demonstrated: Python · REST APIs · authentication · JSON · data collection

Weather Forecasting

Explored forecasting using historical weather observations, with emphasis on structuring time-series data and using previous observations to predict future conditions.

Skills demonstrated: time-series analysis · forecasting · data preparation

More Work

My GitHub contains additional Python, analytics, and learning projects.

Browse GitHub

Back to top