Machine learning engineer. I build computer vision that runs on live camera feeds, and the infrastructure that keeps it running: latency budgets, false positive rates, multi-camera throughput, edge deployment.
Most machine learning succeeds or fails after the model works. That is the part I do.
Multi-modal health monitoring — vision model for pain and anxiety detection combined with behavioural anomaly scoring and explainable fusion. Detection F1 0.37 → 0.76. Shipped with a SHAP-explainable API on Azure.
Real-time detection on live feeds — fire and smoke, aerial and drone, number plate recognition, pedestrian detection and counting. Multi-camera, running on GPU servers and edge devices via TensorRT and DeepStream.
Automated training pipeline — trains YOLOv5/v7/v8 and VAN architectures end to end and converts the trained models to TensorRT with no manual steps.
Mineral exploration modelling — built the predictive modelling from scratch for a geoscience company, estimating mineral concentrations from geochemical and geophysical survey data. Classical ML rather than deep learning.
LLM systems — a multi-source RAG assistant for e-commerce, and a pipeline that reads supplier receipts arriving in dozens of formats and produces structured bills of materials.
yoloworld_testing — measuring what open-vocabulary detection actually costs. Prompting for a class instead of training for one reaches about 90% of a trained detector's F1, with no dataset and no training at all.
The repo also documents the two hypotheses that did not survive contact with the data, and a metric mistake worth not repeating.
Python · PyTorch · TensorFlow · YOLO · Detectron2 · Grounding DINO · TensorRT · DeepStream · OpenCV · LangChain · FastAPI · Docker · AWS · Azure · Linux
ML lead at Tensor Labs · MS Data Science, NUST
