Detailed breakdowns of each project — the problem, the architecture, the technical decisions, and what I learned. All code is publicly available on GitHub.
An agentic AI system that automates extraction of structured data from pharmaceutical regulatory documents and converts it into XML format. Built using LangChain to orchestrate two specialised agents working in sequence — directly inspired by document processing challenges observed at GSK.
Supports both local Ollama models for privacy-sensitive environments and Azure OpenAI for production-grade accuracy. Containerised with Docker and deployed live on Azure Container Apps via Azure Container Registry.
Manual extraction of structured data from pharmaceutical regulatory certificates is slow, error-prone, and does not scale. Two specialised agents rather than one general-purpose agent improves accuracy and auditability.
An end-to-end NLP classification system for pharmaceutical deviation reports. Classifies each deviation as critical, major, or minor — a task currently done manually by quality teams. Includes an Explainable AI layer using SHAP to make model decisions auditable for GxP regulatory acceptance.
In a GxP environment, a model that cannot explain its decisions will not pass regulatory review. SHAP values show exactly which words drove the classification — making the model auditable by quality and regulatory teams.
Manual deviation classification is subjective, slow, and inconsistent across reviewers. An automated system with explainability reduces classification time and provides a consistent, auditable decision trail.
A complete end-to-end machine learning project predicting customer churn probability. The core challenge — and the most important technical decision — is handling the severe class imbalance in churn datasets where non-churners vastly outnumber churners.
Most naive approaches achieve high accuracy by predicting everything as non-churn. This project evaluates on F1 score and AUC-ROC on the minority class — the correct methodology for imbalanced classification problems.
A Python automation tool connecting to the Jira API, extracting sprint data, performing analytics, generating visual reports, and delivering them automatically via email. Built to eliminate manual sprint reporting for a 25+ member cross-functional team at GSK.
A unified five-modality AI architecture for human-level perception and action — Video, Audio, Text, Sensory, Action. Each modality encoder projects into a shared 512-dimensional latent space for cross-modal fusion. Long-term mission: a safe embodied AI that can operate alongside humans.
The Visual Module (V-Module) is complete. Audio, Text, Sensory, and Action modules are in the roadmap across the DBA research timeline (2025–2028). Architecture published as a preprint on Zenodo, April 2026.
EfficientNet-B0 trained with three-stage transfer learning on CIFAR-10: 79% frozen → 94% fine-tuned → 96.31% deep unfreeze (4 layers, 40 epochs). Integrated with YOLOv8 for real-time object detection at 22 FPS live stream, generating 512-dim embeddings at 1,336 embeddings/sec at batch 16. GPU footprint: 63.7 MB.
A proposed novel output routing mechanism for safe parallel multi-modal output generation in physically embodied AI systems. Instead of a softmax that forces one winner, SAMOS uses independent sigmoid activations per output head — allowing Text, Audio, Action, Feeling, and Video outputs to activate simultaneously when appropriate.
Three core components: (1) Learnable per-modality thresholds — not fixed at 0.5, learned from safety-weighted loss; (2) Asymmetric safety-weighted loss function — false activation of the Action head (physical harm risk) is penalised far more heavily than false activation of the Feeling head; (3) Uncertainty-aware gating — when uncertain, the system defaults to the safer option per modality.
The ethical principle — the robot must never harm a human, even accidentally, even when uncertain — is encoded directly into the mathematical architecture, not bolted on as a filter afterward.
A RAG-based medical assistant built on open-source LLMs (Mistral / Llama via Ollama) and public medical datasets (PubMedQA / MedQuAD). Applying embeddings and transformer knowledge from the PGP programme to build and deploy a live clinical Q&A assistant on HuggingFace Spaces. Framed as a pharmaceutical/clinical document assistant — directly connecting GSK regulated AI experience to hands-on GenAI engineering.
Stateful multi-agent system using LangGraph — three specialised agents (document reader, classifier, compliance reporter) with conditional routing and state management. Direct application of agentic AI to pharmaceutical regulatory compliance workflows. Extension of the AI Doc2XML architecture into a more complex stateful pipeline.