Projects

A collection of projects across AI, bioinformatics, automation, biotechnology, and practical problem-solving.


Data Analysis & Machine Learning

AI for Genomics

From exploratory data analysis to predictive modelling of biological datasets through the HackBio AI for Genomics programme.

Overview

This project was completed as part of the HackBio AI for Genomics programme and explores a complete workflow from analysing a biological dataset to developing machine learning models. Stage 1 was completed collaboratively as part of a HackBio team project, whereas Stage 2 was completed individually.

Stage 1 – Data Analysis

The first stage focused on exploring and understanding the biological dataset. Using Python and pandas, I cleaned the data, investigated feature distributions, produced visualisations and interpreted biological patterns before preparing the data for downstream analysis.

Stage 2 – Machine Learning

Building on the exploratory analysis, I trained and evaluated a machine learning model - XGBoost - to predict biological outcomes. This involved feature preparation, model comparison and performance evaluation using standard machine learning techniques.

Key Features

  • Exploratory data analysis with pandas
  • Data cleaning and preprocessing
  • Statistical exploration and visualisation
  • Feature engineering
  • Machine learning model development
  • Model evaluation and comparison
  • Biological interpretation of results

Technologies

Python Pandas NumPy Matplotlib Seaborn Scikit-learn XGBoost

Challenges & Learning

This project strengthened my understanding of the complete data science workflow, from understanding and preparing biological data to developing predictive models. It also highlighted the importance of exploratory analysis before applying machine learning algorithms.

Future Improvements

Future work could explore additional feature engineering and hyperparameter optimisation, and the application of more advanced models to larger genomics datasets.


Agentic RAG

Microalgae Knowledge Assistant

A domain-specific RAG assistant that helps users search and interpret internal microalgae strain, cultivation, engineering, and product data through natural-language questions.

Overview

The Microalgae Knowledge Assistant is a prototype internal research assistant for a fictional microalgae company. It allows users to ask questions about biological strains, cultivation experiments, engineered strains, and commercial products stored across several datasets.

The Problem

Scientific organisations often store important information across many spreadsheets and internal documents. Finding specific internal data, such as experimental results, strain relationships, cultivation conditions or product record, can become time-consuming.

My Solution

I developed a Retrieval-Augmented Generation (RAG) workflow in n8n that converts scientific records into vector embeddings and stores them in a Supabase vector database. When a user submits a query, the assistant retrieves the most relevant records before generating a context-aware response.

Key Features

  • Natural-language search across scientific datasets
  • Supabase vector storage and retrieval
  • OpenAI embedding and language models
  • n8n workflow automation
  • Strain lineage and parent-strain queries
  • Cultivation and product information retrieval
  • Custom Flask chat interface

Technologies

n8n OpenAI RAG Embeddings Supabase PostgreSQL Flask

Challenges & Learning

I tested the assistant with direct questions, paraphrased questions, and deliberately difficult queries. This helped me understand how document structure, metadata, chunking, embeddings, and retrieval quality affect the reliability of a RAG system.

Future Improvements

The prototype could be expanded into a larger scientific workspace with user authentication, document uploads, experiment dashboards, citations, access permissions, and specialised versions for different biotechnology fields.


Bioinformatics

Microalgae RNA-Seq Pipeline

An end-to-end RNA-seq analysis workflow for investigating the transcriptional response of microalgae to nitrogen starvation.

Overview

This project is a reproducible RNA-Seq workflow developed for microalgae transcriptomic data. It compares control samples with nitrogen-starved samples and documents each stage of the analysis from raw sequencing data to differential expression results.

The Biological Question

The pipeline investigates how gene expression changes after 24 hours of nitrogen starvation compared with control conditions. Nitrogen limitation can trigger major metabolic and physiological responses in microalgae.

My Workflow

I organised the project from scratch using a structured directory system, metadata tables, Bash scripts, log files, quality-control reports, reference files, alignment outputs, gene counts, and differential-expression results.

Pipeline Steps

  1. Download sequencing data from the SRA
  2. Convert SRA files into FASTQ format
  3. Run raw-read quality control with FastQC
  4. Aggregate reports with MultiQC
  5. Trim and filter reads with fastp
  6. Build and prepare the reference genome index
  7. Align reads with HISAT2
  8. Generate gene-level counts
  9. Perform differential-expression analysis
  10. Create figures and summary outputs

Technologies

RNA-Seq Linux Bash SRA Toolkit FastQC MultiQC fastp HISAT2 DESeq2 Git

Challenges & Learning

The project strengthened my understanding of sequencing runs, biological samples, metadata organisation, quality control, reproducibility, command-line workflows, and the decisions required when selecting and preparing a reference genome.

Future Improvements

Future development could include workflow management with Nextflow or Snakemake, containerisation with Docker, automated testing, additional visualisations, and deployment of an interactive results dashboard.


LLM Engineering

West Ham Ticket Assistant

An AI-powered ticket assistant built with OpenAI tool calling, Gradio, and SQLite to help supporters explore ticket and hospitality packages through a conversational interface.

Overview

The West Ham Ticket Assistant is a conversational prototype designed to make ticket and hospitality information easier to explore. Users can ask natural-language questions about available packages, prices and match-day experiences.

The Problem

Ticketing information can be spread across several platforms, package descriptions, and pricing tables. This can make it difficult for supporters to quickly compare options and identify the experience that best suits their needs.

My Solution

I created an assistant that connects an LLM to a structured SQLite ticket database. The model uses tool calling to retrieve relevant package information rather than relying only on generated text.

Key Features

  • Conversational ticket and hospitality search
  • OpenAI API calls
  • Structured SQLite ticket database
  • Tool Calling
  • Gradio chat interface
  • Package and pricing comparisons
  • Multimodal features - image and sound

Technologies

Python OpenAI Tool Calling Gradio SQLite

Challenges & Learning

This project helped me understand how an LLM can interact with structured data through tools. I also worked on prompt design, database queries, interface design, and returning useful information in a clear conversational format.

Future Improvements

Future versions could include live ticket availability, authentication, personalised recommendations, payment integration, and direct connections to a production ticketing platform.