At National Australia Bank, I contribute across the software development lifecycle on Java/Spring Boot microservices, including enrolment, partner integration, rewardary fulfilment, and secure file exchange. Persisting Tokeniser mappings in PostgreSQL cut processing for 26,000 enrolment records from over three hours to under 30 minutes.
On the Invoice Processing Microservice project, I delivered an invoice-processing service that replaced a manual accounts-payable workflow and built a TypeScript, React, Next.js, and Node.js miniapp. I owned the end-to-end design and delivery of 18 features, and used Cursor to reduce the delivery timeline by 60% while reviewing every generated change.
I built a fault-tolerant Raft key-value store with leader leases for low-latency, linearizable reads, reducing p99 read latency by approximately 80%. I also tested recovery and leader transitions across a five-node GCP cluster.
I built and tested a MapReduce framework on GCP for iterative K-Means clustering, and co-authored research on student use of LLM-based tools that was published at ACE 2025.

