AI and software engineer, graduated with First Class Honours from Deakin University. I've shipped a transformer built from scratch, an autonomous robot, and an AI transit assistant on live data, and have built production AI systems along the way.
I moved to Melbourne in 2024 to study Software Engineering at Deakin University. I had no local network, no roadmap, just a willingness to work for it. For two years I went straight from lectures to shifts, piecing together the hours to stay in the course.
Somewhere in that stretch I fell into AI, and I learned it the only way that ever really sticks: by building things I didn't yet know how to build. A transformer model from scratch in NumPy, with no ML framework to lean on. A ROS-based robot that had to sense and navigate on its own. An AI transit assistant wired into live public transit data for real commuters.
In 2026 I graduated with First Class Honours (WAM 80.9), having spent my final year researching human-aligned multi-objective reinforcement learning under Professor Richard Dazeley, exploring how large language models can guide AI systems to act in line with human values. That question is what I want to spend my career on. (View research code ↗)
Most recently, I worked as a contract AI engineer, building production systems (resume classification, automated job matching, and rule-based eligibility engines) in Python, FastAPI, and the Anthropic Claude API. I'm now looking for a full-time graduate or junior role in software engineering or applied AI/ML.
A working rebuild of the conversational patterns from my capstone transit chatbot. Try it below.
During my capstone, I was sole technical lead on an AI-powered transit assistant: I integrated live GTFS government feeds, trained NLP intent classifiers, and handled the multi-turn conversations and edge cases that real commuters actually throw at a system, not the tidy demo cases.
This widget is a small, honest extension of that work: a front-end concept (not connected to any live transit data) showing how a conversational layer can sit on top of journey planning.
This is an independent concept demo built to showcase the pattern, not connected to any real transit operator's systems or data.
A mix of academic, professional, and self-directed builds, with code and models included where public.
Sole technical lead on a conversational assistant integrated with live GTFS government feeds, covering NLP intent classification, multi-turn flows, and real-time schedule and delay data.
A transformer architecture built entirely from scratch in NumPy, including embeddings, positional encoding, and multi-head attention with no ML framework. 78% F1 on named entity recognition.
A ROS-based autonomous navigation system with sensor integration, control logic, and stop-sign detection, built with a modular perception–planning–actuation architecture.
End-to-end environmental monitoring platform using MQTT and Firebase, with real-time dashboards and SQL-backed data storage.
Led a cross-functional team of 12 to digitise an Indigenous educational board game across PC, iPad, and Web, working directly with stakeholders through Agile sprints.
A deterministic eligibility engine covering all 13 Canadian province/territory nomination programs, paired with a Claude-narrated layer that explains each decision in plain language.
A long-running passion project: a Sikh learning platform built around six core modules, including Digital Granthi (an AI guide grounded in Gurbani), an avatar-based adventure game, and a Nitnem streak system for daily practice.
A long-running passion project, already prototyped end to end with a working pitch deck. Try two small pieces of it below.
Yatra is built around six core modules spanning learning, engagement, and community. Among them:
Both pieces below are concept demos rebuilt for this portfolio in its own visual style. They're not the real prototypes, and not a substitute for actual Gurbani content, which isn't reproduced here.
Professional experience alongside my degree.
What I build with, day to day.