Skip to main content

I am a senior software engineer based in Melbourne, Australia, with over a decade of experience building high-performance web systems, native applications, and developer tooling across real estate, defence, and technology sectors.

My engineering philosophy focuses on building robust backend-for-frontend (BFF) layers, high-throughput systems, and modular frontends. I have extensive experience designing type-safe GraphQL APIs, maintaining complex composable design systems, and optimizing multi-stage CI/CD pipelines deploying to containerized environments like AWS ECS.

Lately, I have been deeply engaged in local-first AI infrastructures—specifically building Rust and Python-based gateways, context compression engines, and Model Context Protocol (MCP) integrations. Outside of product engineering, my background includes simulation modeling for the New Zealand Defence Force and ongoing service as an Army reservist, which instills strong discipline, leadership, and mission-focus in all of my engineering projects.

Engineering philosophy

  • Ship small, learn fast
  • Accessibility is not optional
  • Clean code is kind code
  • Optimise for the team, not the hero
  • Measure outcomes, not output
  • Stability enables speed

Current interests

I am currently exploring local-first AI gateway proxies, advanced context-compression algorithms in Rust, and Model Context Protocol (MCP) server tooling. I also keep a strong interest in high-efficiency build pipelines, geospatial routing systems, and next-generation state synchronization in real-time interfaces.

Toolkit

Skills & Expertise

Technologies, practices, and disciplines I use to build reliable products at scale.

Languages & Core

  • TypeScript / JavaScript
  • Python
  • GraphQL (SDL)
  • HTML / CSS
  • Shell Scripting (Bash/Zsh)

Frontend & Mobile

  • React / React 19
  • Next.js (App Router)
  • React Native / Expo
  • Design Systems (Lerna/Changesets)
  • Accessibility (WCAG AA)

Backend & Systems

  • Node.js (Express/BFF)
  • AI Systems & LLM Integration
  • Python (Django/FastAPI)
  • Redis / BullMQ
  • Databases (Postgres/DynamoDB/MongoDB)

Cloud, DevOps & Observability

  • AWS (ECS/Fargate/CDK)
  • CI/CD (Jenkins/GitHub Actions)
  • Docker / LocalStack
  • APM (Elastic APM/Raygun)
  • Testing (Playwright/Cypress/Jest)

Career

Experience

A timeline of roles, responsibilities, and measurable impact across product and platform teams.

CoStar Group

Senior Software Engineer

Aug 2025 - Present

11 months

Melbourne, Victoria, Australia · Full-time

  • Engineering high-visibility, premium customer-facing web surfaces and listing experiences using React 18/19 and Next.js 15.
  • Collaborating closely with design, product, and cross-functional teams to design scalable platform architectures and ensure visual excellence.
ReactTypeScriptNext.jsNode.jsGraphQL

Domain

Senior Software Engineer

Feb 2020 - Aug 2025

5 years 7 months

Melbourne, Victoria, Australia · Hybrid · Full-time

  • Architected and maintained a multi-client GraphQL BFF (Apollo Server 4 / Express / Next.js) serving web, iOS, and Android clients simultaneously, implementing field-level authorization directives and OpenAPI-to-TypeScript codegen to eliminate contract drift.
  • Led cross-platform delivery of real-time agent productivity products, establishing unified type-safe codegen pipelines, visual regression testing (Percy), snapshot testing (Roborazzi), and 80%+ coverage gates.
  • Designed and maintained two composable design system monorepos (using Lerna and Changesets) supplying 30+ React component packages with sub-path exports and Emotion CSS-in-JS design tokens, consumed across multiple internal products.
  • Owned end-to-end CI/CD for a suite of containerized Node.js services on AWS ECS Fargate, authoring multi-stage Dockerfiles, Jenkins pipelines (covering unit, integration, and schema checks), and AWS CDK deployments with per-PR preview environments.
  • Promoted from Frontend Developer to Senior Engineer across four consecutive roles, leading frontend development for Agent Solutions and Realtime Agent products.
ReactNode.jsTypeScriptGraphQLAWSDockerCDKJenkinsLernaCypressJest

Real Time Agent

Frontend Developer

Aug 2018 - Feb 2020

1 year 7 months

Melbourne, Australia · Full-time

  • Built real-time auction and offer-management interfaces for real estate agents using React, Node.js, and WebSockets.
  • Established foundational components and real-time state synchronization patterns adopted across broader platforms after company acquisition.
ReactNode.jsJavaScriptWebSocketsCSS-in-JS

Future Golf

Software Developer

Mar 2025 - Oct 2025

8 months

Remote · Casual

  • Delivered full-stack features for a golf-tech platform on a casual contract basis.
  • Improved deployment reliability and release cadence by setting up automated CI/CD pipelines.
ReactNode.jsTypeScriptCI/CD

New Zealand Defence Force

Developer / Simulation & Process Modeller

Nov 2015 - Jul 2018

2 years 9 months

Wellington, New Zealand · Full-time

  • Developed internal tooling and front-end systems for defence operations.
  • Modelled operational processes, simulations, and interactive transit/logistics tools to inform capability decisions.
JavaScriptSimulationData VisualizationProcess Modelling

NZ Army

Army Reservist

Oct 2007 - Present

18 years 9 months

Wellington, New Zealand · Reserves

  • Developed leadership, discipline, and mission-focus alongside a technical career.