Full-stack software engineer working across applied AI, robotics, GIS, and web platforms.
[ CHASMATA ] · [ EVAT ] · [ AURORA ] · [ HOUSING ML ] · [ GUIDE MY EYES ] · [ LINKEDIN ]
Chasmata is an Angular mission-control redesign for Deakin Competitive Robotics Club’s 2027 rover for the Australian Rover Challenge, where I serve as GUI lead. It is shaped by my commercial pilot background and inspired by A320 cockpit design philosophy. It uses a deliberate attention hierarchy: the FMA communicates high-level operational state, ECAM presents alerts and procedures, and System Display pages provide subsystem detail. The redesign structures the operator experience around dedicated Pilot and Arm Ops workflows, mutually exclusive Drive and Arm control, and shared Gimbal priority.
- Operators: Pilot and Arm Ops workflows
- Displays: Pilot and Arm Ops mission control, ECAM alerts and procedures, and System Display pages
- Telemetry: rover state, subsystem health, cameras, and recovery snapshots
- Controls: gamepad input with mutually exclusive Drive and Arm modes
- Integration: Angular, TypeScript, ROSbridge, ROSLIB.js, and MJPEG camera streams
Pilot mission control
Arm Ops mission control
ECAM alerts and procedures
An explainable EV charging-station recommendation feature for EVAT, where I served as technical lead. I designed the feature architecture and API contracts, coordinated ownership across a seven-member team, implemented the Python FastAPI recommendation service, and led end-to-end integration across the frontend, Node.js backend, persistence layer, and recommendation service.
- Leadership: proposed the feature, secured Product Owner approval, designed the system flow, and coordinated team ownership
- Recommendation: filters unreachable stations, ranks candidates with a trained preference model, and returns explanations
- Personalization: combines predicted selection probability with each user’s recent selection history to nudge rankings toward their preferences
- Fallback: retains fixed-weight scoring when the trained model is unavailable
- Integration: resolved authorization, schema, routing-data, and recommendation-history issues across services
- Workflow: local pull-request validation and GitHub Actions build checks for the frontend and backend
Charger recommendation feature demo
Existing EVAT services and recommendation inputs
New recommendation pipeline, ranking logic, and persistence
A self-hosted Windows PowerShell AI coding assistant that runs gpt-oss:20b locally through Ollama, uses tool-enabled web search through SearXNG, and exposes private remote access through Tailscale Serve.
- Model: gpt-oss:20b via Ollama
- Context: 40,960 tokens with Flash Attention
- Memory: q8_0 KV-cache quantization
- Search: local SearXNG tool integration
- Remote access: loopback services published through Tailscale Serve
Fun fact: The name "AURORA" was inspired by APOLLO from Alien: Isolation :D
An end-to-end machine-learning project that estimates residential property prices from structured features and exposes the trained model through a Flask web application.
- Dataset: manually collected and structured 151 property listings from Werribee, Point Cook and Tarneit, using AI-assisted extraction followed by manual verification and cleaning.
- Models: Linear Regression, Random Forest, and Gradient Boosting comparison
- Result: Random Forest achieved a held-out R² of 0.7266 with approximately $96.6k MAE
- Deployment: exported scikit-learn pipeline served through a Flask prediction form
Educational demonstration using a small, time-specific dataset from three Melbourne suburbs.
An Android accessibility application that combines ARCore depth sensing and on-device object detection to help visually impaired users perceive nearby obstacles through sound.
- Depth: ARCore Depth API for estimating obstacle distance and identifying the nearest path hazard
- Vision: TensorFlow Lite MobileNet-SSD for on-device object detection
- Audio: directional sound for obstacle position, pitch variation for distance, and Text-to-Speech for object labels
- Evaluation: tested on a real Android device across corridor and street scenarios, including latency and battery measurements
Research prototype; not clinically validated or a replacement for established mobility aids.











