A selection of work — some details redacted under NDA.
How do you process 30 million accounts without breaking production? Kafka for real-time KYC events, Kubernetes CronJobs for the monthly batch run, and a lot of careful design.
Four years of serverless-first development at an Australian MVNO — Lambda functions in Node.js, Stripe subscriptions, a React dashboard, and a CI/CD migration I'm still proud of.
Built a full IVRS back-office system from scratch at a major bank as a junior dev — Struts/Spring/Hibernate, Maker-Checker approvals, RBAC, and a fraud-prevention PIN service that management actually noticed.
Built the API bridge between two major digital wallets — and personally caught a live fraud attack in Splunk logs mid-shift. Stopped it, patched it, shipped better rate limiting.
BSP says show consolidated spending across linked accounts. I designed a parent-child profile architecture that fetches all 5 accounts in a single query, with async cache updates on every transaction.
A 2019 migration silently left 15 million accounts without spending limits. I designed the batch remediation system to fix them — zero downtime, off-peak Kubernetes jobs, cache invalidation included.