Current applied ML work
TeachScribe — On-Device Multimodal Retrieval
Full-time technical collaboration for product integration · Code, data and internal
product materials remain private
Built and evaluated a standalone Android prototype that retrieves and ranks relevant
classroom photographs from written observations using optional capture-time filtering
and fully on-device image–text inference. The prototype is currently undergoing
target-device validation before adaptation and proposed integration into
TeachScribe’s main teacher-facing product.
Responsible for model research, system design, evaluation and mobile implementation.
Benchmarked five pretrained vision–language models across three structured retrieval
evaluations, comparing Recall@1 and Recall@5 alongside model size, CPU performance,
mobile feasibility and checkpoint licensing. Identified TinyCLIP as the current
leading deployment candidate and integrated it through ONNX Runtime into the
Expo/React Native application, implementing native Kotlin image preprocessing,
reusable inference sessions, persistent SQLite embedding caches and human-reviewed
multi-photo selection. Current work covers task-specific fine-tuning and validation
on the target Android tablet, including retrieval quality, latency, memory use and
thermal behaviour.
Multimodal ML
Vision–Language Models
Image–Text Retrieval
On-Device Inference
Android
ONNX Runtime
React Native
Kotlin
Model Evaluation
Mobile Performance
Human-Reviewed AI
Current independent prototype
ModelHawk — ML Notebook Audit Prototype
Structured classification audits · Deterministic analysis · Gemini/Ollama examiner · LaTeX reports
Independent developer tool currently focused on structured classification
notebooks, particularly projects involving imbalanced datasets. It parses notebook
code and Markdown, identifies workflow signals and applies deterministic and heuristic
checks covering leakage risk, metric choice, class imbalance, validation quality,
reproducibility and portfolio readiness.
The core audit remains usable without an external language model. An optional AI
Examiner uses the Gemini API, falls back to a locally hosted Llama 3.2 model through
Ollama as a fallback and retains deterministic operation when neither provider is available.
The resulting findings and reviewer questions are compiled into professional LaTeX PDFs.
Next.js
TypeScript
React
Static Analysis
Model Evaluation
Imbalanced Classification
Jupyter Notebooks
Gemini API
Ollama
Local LLMs
Deterministic Fallbacks
LaTeX
Technical Reports
AIoT Smart Home Prototype
Simulated, rule-labelled held-out set: 85.9% accuracy · 0.99 AUC · 0.89 weighted F1
Designed a modular, privacy-aware smart-home prototype with independent ESP32-S3
controllers, profile-aware automation, Blynk monitoring and staged gas/heat responses.
Added a five-class Edge Impulse environmental classifier with deterministic safety
fallbacks and an estimated embedded footprint of ~1 ms inference, 1.4 KB peak RAM and 14.4 KB flash.
Separate bedroom and kitchen/living-room simulations validated comfort automation, security states and staged safety responses.
AIoT
ESP32-S3
Wokwi
Blynk
Edge Impulse
Embedded C++
TinyML
Hybrid AI
Credit Card Fraud Detection
MSc machine-learning report · Distinction mark: 85/100
Built a leakage-controlled pipeline for 284,807 transactions and compared six
classifiers and imbalance strategies using five-fold stratified cross-validation,
RandomizedSearchCV and validation-based threshold analysis. The tuned XGBoost model
achieved 91.2% precision, 84.7% recall and 0.8827 average precision.
Evaluation prioritised Average Precision and precision–recall trade-offs over accuracy,
with leakage controls spanning preprocessing, resampling, cross-validation and threshold selection.
Python
scikit-learn
XGBoost
SMOTE
Model Evaluation
Computational Physics Numerical Methods
Scientific Python project implementing interpolation, numerical integration,
ODE solvers and stochastic simulation, with applications to computational physics
and a combined Kaggle showcase.
Python
NumPy
SciPy
Matplotlib
Numerical Methods
Scientific Computing
IAC Publication–Press Note Matching
Semi-automated workflow that compared 67 IAC outreach articles against more than
700 scientific publications using text preprocessing, regex and fuzzy matching,
while retaining manual review for uncertain matches.
Python
NLP
Regex
Fuzzy Matching
Science Communication
Adaptive Whisper Transcription Pipeline
Portable CPU/GPU transcription workflow for audio and video files using faster-whisper,
with automatic hardware selection, safe input handling, audio normalization,
progress tracking and optional SRT subtitle generation.
Python
Whisper
Audio Processing
SRT Subtitles
Automation