Melbourne, VIC · Open to AI / ML Engineer roles

Chathil Vithanage

AI / Machine Learning Engineer · B.CompSci (Artificial Intelligence), Swinburne 2026

I build and ship LLM-powered products from feasibility to deployment. Most recently I led a six-person team that built a clinical-psychology training app on a locally hosted LLaMA model, with a Q-learning component and a full React and Python stack running in the cloud.

Best Project, Data / AI Swinburne Capstone Expo, awarded to the AI Chatbot for Clinical Psychology
Selected work

Projects

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
Toolkit

Skills

AI & LLMs
LLM application development, prompt engineering, multi-step prompting, Hugging Face Transformers (LLaMA, BART, RoBERTa), reinforcement learning (Q-learning)
ML & vision
PyTorch, TensorFlow / Keras, scikit-learn, OpenCV (face recognition, anti-spoofing, emotion detection)
Languages
Python, JavaScript, Java, C, C++, C#, SQL
Web & APIs
React, Node.js, Flask, REST API design
Cloud & ops
AWS, NECTAR research cloud, Docker, Nginx, CI/CD
Data
pandas, NumPy, Matplotlib, Seaborn, D3.js, MongoDB, MySQL
Background

Education

Bachelor of Computer Science, Artificial Intelligence majorSwinburne University · 2026
Diploma of Information TechnologySwinburne University · 2023

I worked self-employed as a contract driver and commercial cleaner throughout my full-time degree, managing my own schedule and clients. I hold a current Working with Children Check and a full Victorian driver's licence.