AI Chatbot for Clinical Psychology
Capstone · Project Lead & Scrum Master
Psychology trainees need a safe, repeatable way to practise diagnostic conversations. We built a simulator where an LLM plays patients whose mood shifts during the session.
60patient personas
6person team
12month delivery
- Engineered a 60-persona prompt library with multi-step prompting on a locally hosted LLaMA model, and solved CPU and token-throttling bottlenecks so patients stayed realistic and responsive.
- Combined LLM reasoning with a Q-learning agent and deterministic session logic to vary patient mood, a hybrid AI and rule-based design.
- Shipped the full stack (React SPA, Python REST API, MongoDB, Nginx) to the NECTAR research cloud with Docker and CI/CD.
- Worked with the clinical client for a year through demos, user testing and handover.
LLaMAPrompt engineeringQ-learningPythonReactMongoDBDockerNECTAR cloud
Facial Recognition Attendance System
Applied Machine Learning · Team Lead
A desktop attendance app that recognises faces from a webcam, blocks photo and video spoofing, and logs attendance automatically.
96.7%anti-spoofing val. accuracy
AUC 0.80face verification
109,831images · 4,000 identities
- Trained a MobileNetV2 anti-spoofing classifier on LCC_FASD, the verification stage I owned.
- Built the preprocessing pipeline (MTCNN detection, alignment, normalisation) and chose a ResNet18 triplet-loss model over a MobileNetV2 classifier by benchmarking metric learning against classification.
- Added a FER2013 emotion model (65.6%, 7 classes) to a Tkinter app with live webcam input, registration and CSV logging.
PyTorchMobileNetV2ResNet18Triplet lossMTCNNOpenCV
Online Convenience Store System
Software Architecture & Design
A full-stack store with sign-in, checkout and real-time order notifications, designed up front with UML and CRC cards.
11domain entities
12services
4design patterns
- Layered MVC architecture using the Strategy, Repository, Observer and State patterns.
- JWT authentication, REST APIs and Server-Sent Events for live order updates.
PythonReactSQLJWTSSE
NLP & LLM Applications
Summarisation with BART and extractive question answering with RoBERTa using Hugging Face Transformers, plus a TF-IDF sentiment classifier for airline tweets.
BARTRoBERTascikit-learn
AI Heist Simulation
A personal project in Python where autonomous agents make decisions and find paths through a changing environment.
AgentsPathfindingPython