ADRs are a Zettelkasten for your codebase
Architecture Decision Records started as a documentation chore. They've quietly become the only long-term memory your team — and the agents working alongside it — actually has.
Showcase of components and sections with light/dark theming.
Uses Starwind CSS vars mapped to our tokens.
Sydney, Australia
Lead engineering for the pay-compliance division after Wrkr's acquisition. Currently re-platforming the product to handle much higher concurrency without giving up the accuracy the whole thing depends on, and building the team and practices around it.
Sydney, Australia
Led the team that built Douugh's neobank from concept to launch in the US and Australia, including the automated savings and budgeting features. Owned the engineering culture as the team grew.
Sydney, Australia
Built the streaming UI and backend for the replacement of CHESS, the system that clears and settles trades on the Australian stock exchange. Used reactive programming (RxJava) to handle real-time transaction data at market scale.
Sydney, Australia
Set the direction for the Cloud Platforms team. Built a purpose-made Kubernetes platform on EC2 and set up ChatOps workflows in Slack so developers could self-serve instead of filing tickets.
Sydney, Australia
Worked across client engagements: Atlassian's core billing refactor, a privacy-preserving data-matching service for Westpac, and Google App Engine microservices for PwC.
Sydney, Australia
Led the technical direction for a petabyte-scale financial data platform, from requirements through to distributed systems running on AWS.
Sydney, Australia
Embedded with government and enterprise clients as a forward deployed engineer, working on-site to integrate messy data sources and build the pipelines and analytics workflows their teams ran on.
London, UK
Set up distributed CI/CD across global development teams. Ran the migration from CVS to Git/Gerrit and got the company onto AWS EC2 early.
London / Edinburgh
Implemented continuous integration for wealth-management portals and managed high-availability Java/Websphere applications in a global banking environment.
Melbourne, Australia
Early career focus on building Java development environments from scratch, designing telephony products, and developing core offline billing engines.
Architecture Decision Records started as a documentation chore. They've quietly become the only long-term memory your team — and the agents working alongside it — actually has.
A strategic look at high-fidelity engineering: using 'bulkhead' patterns to run staging and production in a shared cluster without sinking.
Scaling engineering teams and the ladders, roadmaps, and decision records that keep them moving. I lead by giving people the context to make their own calls, not the instructions to follow mine.
Designing event-driven, cloud-native systems for millions of users. Kubernetes (GKE/EKS), serverless, and distributed data pipelines (Spark, Kafka), with observability and running cost treated as part of the design rather than an afterthought.
Shipping in thin, working slices instead of big-bang launches. I keep engineers close to the people using what they build, and lean on fast feedback and decoupled services so teams can move without tripping over each other.
Building for Resilience, Leading with Context.
Running engineering teams in fintech and pay-compliance SaaS, through growth and an acquisition.
Sydney, Australia
Lead engineering for the pay-compliance division after Wrkr's acquisition. Currently re-platforming the product to handle much higher concurrency without giving up the accuracy the whole thing depends on, and building the team and practices around it.
Sydney, Australia
Led the team that built Douugh's neobank from concept to launch in the US and Australia, including the automated savings and budgeting features. Owned the engineering culture as the team grew.
Building cloud-native platforms and the systems behind market infrastructure.
Sydney, Australia
Built the streaming UI and backend for the replacement of CHESS, the system that clears and settles trades on the Australian stock exchange. Used reactive programming (RxJava) to handle real-time transaction data at market scale.
Sydney, Australia
Set the direction for the Cloud Platforms team. Built a purpose-made Kubernetes platform on EC2 and set up ChatOps workflows in Slack so developers could self-serve instead of filing tickets.
Hard data problems in banking, government, and large-scale cloud systems.
Sydney, Australia
Worked across client engagements: Atlassian's core billing refactor, a privacy-preserving data-matching service for Westpac, and Google App Engine microservices for PwC.
Sydney, Australia
Led the technical direction for a petabyte-scale financial data platform, from requirements through to distributed systems running on AWS.
Sydney, Australia
Embedded with government and enterprise clients as a forward deployed engineer, working on-site to integrate messy data sources and build the pipelines and analytics workflows their teams ran on.
Modernising how global engineering teams built, tested, and shipped.
London, UK
Set up distributed CI/CD across global development teams. Ran the migration from CVS to Git/Gerrit and got the company onto AWS EC2 early.
London / Edinburgh
Implemented continuous integration for wealth-management portals and managed high-availability Java/Websphere applications in a global banking environment.
Melbourne, Australia
Early career focus on building Java development environments from scratch, designing telephony products, and developing core offline billing engines.
Core CS foundations: data structures, algorithms, operating systems, networking, and databases; team capstone in web systems.
Focus on distributed systems, testing strategies, and cloud architecture; thesis on resilience patterns in microservices.
React • Scala • BigQuery • Dagster • dbt • Spark
Cloud-native pay compliance platform with automated entitlements calculation engine, multi-tenant architecture, and data warehouse analytics. Integrates Clerk auth, Novu notifications, and Superset reporting.
Cryptography • Privacy-Preserving Tech • DataRepublic Senate
Cryptographically secure, privacy-protecting data-matching service enabling organisations to perform segment analysis of customers and markets while maintaining data privacy.
RxJava • React • Blockchain • Reactive Programming
Adaptive, stream-based UI for blockchain-based replacement of the CHESS clearing system. Dynamic and responsive interface providing real-time access to transactional data and market updates.
Django • Django REST Framework • Android • iOS
Architected a full-featured neobank platform encompassing global payments, fraud controls, and regulatory compliance. Native apps for savings and investment with automatic transaction categorisation and intelligent balance transfers.