Skip to content

Selected work

Platforms, migrations, and the boundaries between them.

Each of these is the same question in a different setting: how does a system stay accountable to the people responsible for it?


  1. Lead Engineer · Macquarie

    A proof of concept, still defining where the value is. Today, tracing what someone did across separate platforms, systems and channels is a manual job that takes around 30 days. This unifies that trace into one place, so activity carried out with ill intent can be detected and reported in under five minutes. An LLM first looks for an innocent explanation for each event, then reviews the whole series to judge whether it looks like a one-off or a deliberate pattern. A supervisor makes the call.

    LLMsAgentic AIEvent-driven architectureAWS

    Read the case study →


  2. Lead Engineer · Macquarie

    Replaced a low-code SaaS post-trade platform with an in-house build, while strangling the internal API that grew up beside it into services.

    AngularPythonPostgreSQLKubernetesAWSHashiCorp VaultEntra SSO

    Read the case study →


  3. Lead Engineer · Macquarie

    The same micro-frontend idea as the employee portal, four years later, for a different set of users — built to host AI features before they scatter.

    Single-spaAngularPythonNode.jsKubernetes

    Read the case study →


  4. Quorum (Personal)

    2025–Present

    Creator

    A governed memory layer for AI agents. Stores engineering decisions and business requirements with authorship, rationale, conflict detection, authority weighting and a signed audit chain.

    MCPTypeScriptOpen source (Elastic License 2.0)

    About Quorum →



  5. Lead Engineer · Macquarie

    One surface over HR systems, building services, approvals and a SharePoint CMS — with consistency and accessibility enforced at a boundary rather than requested.

    Single-spaReactAngularStencilNode.jsEnvoyOPAAWS

    Read the case study →


  6. Open Banking — Consent Management

    2020–2021

    Senior Full Stack Developer · Cognizant · client: Westpac

    React front end and Node.js BFF for consent management under the Consumer Data Right — orchestrating asynchronous calls across Java services over systems of record, and the correlation work that makes a consent screen show the right customer’s accounts.

    ReactNode.jsJavaREST

    Listed for completeness — the substantial engineering here happened in the services behind my layer.