Resume
A skills matrix, then every senior role with its dates and stack.
Skills matrix
- Skills
- 66
- Areas
- 8
- Longest
- 18 yrs
Each bar is a skill's years of professional use, against the longest at 18.
Languages
What I write in.
- .NET Framework / Core using C# / F#18 yrs
- C / C++18 yrs
- HTML / CSS / JavaScript / TypeScript18 yrs
- Java13 yrs
- Lua / Python11 yrs
- PHP9 yrs
- Rust (Realtime Audio, Lock-Free Concurrency)3 yrs
- Kotlin3 yrs
Front end
Interfaces for the web and the desktop.
- React13 yrs
- Angular11 yrs
- Forms / XAML / WPF11 yrs
- Razor / Blazor8 yrs
- Next.js6 yrs
- three.js / React Three Fiber / GLSL Shaders5 yrs
- Vite / Tailwind CSS Front-End Tooling4 yrs
- Zustand / TanStack Query4 yrs
- Vike Static Site Generation2 yrs
Back end and data
APIs, services and the data under them.
- Integrations (Payment, Analytics, Email, Power BI, Advertising)15 yrs
- SQL Databases (Postgres, Microsoft SQL, Snowflake, Oracle)11 yrs
- Node.js10 yrs
- ASP.NET / Entity Framework9 yrs
- RESTful API Development9 yrs
- ASP.NET Core8 yrs
- Redis7 yrs
- Hangfire Background Jobs6 yrs
Cloud and infrastructure
Where it runs, and the machines it runs on.
- Hardware Setup / Network Setup / Computer Building16 yrs
- Azure9 yrs
- AWS9 yrs
- Docker8 yrs
- Azure Logic Applications7 yrs
- Microsoft Entra ID (Azure AD) / SSO7 yrs
- Azure API Management6 yrs
- Cloudflare (Workers, DNS, CDN)6 yrs
- Kubernetes6 yrs
- Sitecore (XM Cloud, Sitecore Search)5 yrs
Delivery and leadership
Shipping it safely, and the people who ship it.
- Git / GitHub / GitLab / Bitbucket / Azure DevOps12 yrs
- DevOps8 yrs
- Mentoring & Team Leadership8 yrs
- CI/CD TeamCity / Azure DevOps (Build Pipeline Management & Continuous Delivery)7 yrs
- Unit Testing JavaScript & C#7 yrs
- Cypress Browser Automation Testing6 yrs
- DevSecOps (Vulnerability Management, Essential Eight)5 yrs
- Playwright & Vitest Testing4 yrs
AI
Models, retrieval and agents.
- Artificial Intelligence / Machine Learning (Transformers, Embeddings, SBERT)6 yrs
- Semantic Search & Vector Retrieval5 yrs
- Local LLM Inference (ONNX Runtime GenAI, Phi-4, Int4 Quantization)4 yrs
- AI Coding Agent Tooling (Model Context Protocol, Claude Code, Agent Skills, Copilot, Cursor)4 yrs
- AI Agents (Microsoft Foundry, Copilot)4 yrs
- LLM APIs (Claude, OpenAI, Gemini, xAI)4 yrs
- GPU Inference (CUDA, TensorRT, DirectML)4 yrs
- Speech AI (whisper.cpp, F5-TTS Voice Cloning, KittenTTS)3 yrs
Games and apps
Engines, multiplayer and native apps.
- Unity Engine9 yrs
- Store Release Pipelines (TestFlight, SteamPipe)7 yrs
- Xamarin App Development (iOS, Android, Linux, Windows)6 yrs
- Real-time Networking for Multiplayer Games6 yrs
- React Native / Expo (EAS, App Store Subscriptions)6 yrs
- Electron Desktop Apps6 yrs
- Avalonia Cross-Platform Desktop Development (GUI and CLI in One Executable)5 yrs
- Desktop Packaging & Distribution (WiX, MSI, Notarised DMG, .deb, AppImage)5 yrs
- Windows Audio Engineering (WASAPI Loopback Capture, NAudio, LAME)4 yrs
- Jetpack Compose / Android TV4 yrs
- Realtime Audio Engines (ASIO, CLAP / VST3 Hosting)4 yrs
Specialist tooling
The deep ends of the open-source work.
- Compiler & Static Analysis Tooling (Roslyn, TypeScript Compiler API)6 yrs
- PDF Engineering (ISO 32000, PdfSharp, PDFium, AcroForms, Redaction)6 yrs
- Headless Browser Automation & Document Rendering (Puppeteer, Chromium)6 yrs
- Cryptography & Digital Signatures (AES-128/256, PKCS#7, X.509)5 yrs
Roles

UWA
Full stack lead, Digital Experience. Sep 2025 - Present.
The University of Western Australia
Full stack lead in the Digital Experience team, delivering frontend, backend and infrastructure across the university's web platforms, student systems and security tooling.
- Delivered the first stage of the new student portal backend, covering architecture, infrastructure and code, built to scale with Redis. It integrates Callista, Blackboard, Entra ID SSO and other university systems.
- Mentored interns to turn their vision into a student portal prototype. When it was presented to wider University IT, it won buy-in for the new student portal.
- Architected and delivered a zero-downtime migration of university search from Funnelback to Sitecore Search using a strangler fig pattern, covering the search UI, Cloudflare Workers and Azure API Management.
- Built an automated vulnerability management platform covering 42 repositories. It scans daily, feeds a bespoke dashboard I built for managing the whole portfolio, and sends weekly reports supporting Essential Eight compliance.
- Developing AI-driven CVE remediation on Microsoft Foundry, which fixes and verifies vulnerabilities and raises pull requests for review.
- Built and maintain frontend components for www.uwa.edu.au on Sitecore XM Cloud with React, Next.js and Vercel, along with its deployment pipelines and branching strategy.
- Rebuilt and upgraded the team's build agents and CI/CD pipelines, and automated software updates across the build infrastructure.
- Ran security audits and built AI-assisted auditing tools with Microsoft Copilot.
- Presented on Essential Eight compliance and security automation to IT staff.
- Winner of the Uni IT Architectural Patterns Competition 2026.
- And much more.
C#, ASP.NET Core, React, Next.js, TypeScript, Redis, Microsoft Azure, Azure API Management, Microsoft Entra ID, Cloudflare Workers, Sitecore XM Cloud, Sitecore Search, Vercel, Docker, Kubernetes, DevOps, DevSecOps, Microsoft Foundry, AI Agents

UWA
Cloud migration and modernization. Oct 2024 - Dec 2024.
The University of Western Australia
Migrated multiple on-premises solutions to the cloud with improvements and code rewrites. This includes the Student Recharge app, where UWA students add value to their student cards online; the Password Update portal, and various other critical university services.
JavaScript, Razor, C#, HTML, CSS, Git, SQL, Xetta Payment Integration, SendGrid Email Integration, Azure DevOps

BHP
Mine shutdown reporting dashboard. Feb 2024 - Sep 2024.
Worked on creating a new dashboard solution for BHP mine shutdowns that pulls data from 3 different systems and displays a dashboard for quick decision making based on stakeholder metrics, implementing both the front-end and back-end.
JavaScript, React, C#, HTML, CSS, Git, SQL, Snowflake, GitHub

Rio Tinto
Rail system tracking and reporting. July 2023 - Nov 2023.
Worked on stabilizing and improving the rail system tracking, reporting, and location services on both the front-end and back-end.
F#, C#, React, Git, Unit Testing, SQL, CI/CD, Power BI Integration, BitBucket

BHP
Shipping optimization on the PRISM squad. Jan 2023 - May 2023.
Part of the PRISM Squad working on mining industry shipping related optimization solutions, implementing new features on both the front-end and back-end.
JavaScript, Angular, C#, HTML, CSS, Git, Unit Testing, SQL, CI/CD, Azure Logic Applications, Power BI Integration, Snowflake, BitBucket

Squiz
Lead developer, Squiz Workplace. Jan 2022 - Nov 2022.
Part of the Plug & Play Squad. Took over as lead developer of the Squiz Workplace product, in charge of implementing new features, bug fixes, client patches and releases.
JavaScript, React, Angular, PHP, HTML, CSS, Git, Cypress, Unit Testing, SQL, CI/CD, Azure, AWS, Azure Logic Applications, GitHub

Bunnings
Self-checkout and logistics management. Jan 2021 - Jan 2022.
Bunnings Warehouse
Part of the MS Front End React Squad, creating new projects from scratch with modern React, Redux-Saga, TypeScript, styled-components etc. As well as updating old projects in our domain, API side included. Performing stakeholder meetings, showcases, engaging with business developers etc. Main projects include "Self Checkout" and "Logistics Management App".
C#, DotNet Core, Angular, React, BitBucket

Heroes Raid
Always-online 3D action RPG. 2021 - In Progress.
Lionheart Global Corporation
Building Heroes Raid, an always-online 3D action RPG set in a dark, dystopian world of angels, demons, firearms, swordsmanship, magic and advanced technology. It's on Steam ahead of release, with alpha testing running through Discord. The game talks to its API server constantly and is built to scale to millions of players, with free-to-play monetisation and a new-content-every-week model.
- A story told in acts, from a dream above a rain-soaked city to an escape from armed soldiers on a train, with cutscenes along the way, and dungeon raids generated procedurally so no two runs are the same.
- Play solo or in online co-op, with a squad whose AI can be set to specific tactics.
- Equipment is summoned and grants abilities to upgrade and master; sacrificing a summoned hero passes its abilities to another, for builds from a lightning-fast assassin to a magic-wielding archer.
- A PvP arena with 4v4, 3v3, 2v2 and 1v1 modes, ladders, fame and rewards, and cross-platform multiplayer.
- Loot, levels and rewards throughout, with in-app purchases, and the game localised into 26 languages.
C#, DotNet Core, Unity Engine, Unit Testing, SQL, Azure, Azure Logic Applications, AWS, CI/CD, Git, React, Analytics Integration
SquareCode / LiveMine
Shift management and worker co-ordination. Jan 2019 - Dec 2021.
SquareCode
Worked primarily on LiveMine. Clients use LiveMine for mine-specific shift management, big data and worker co-ordination. I worked very closely with the LiveMine team spending a few months in their Fremantle office.
C#, Xamarin, Angular, React, HTML, CSS, Git, SQL, Analytics Integration, Power BI Integration

Super Friends Party
Six-player online party game. Jan 2018 - Jan 2019.
Lionheart Gaming
Built and released Super Friends Party, a free-to-play online party game on Steam where up to six players, friends or strangers, battle through minigames to find a champion. It opened in Early Access in June 2019 and had its full release in August 2026.
- Minigames spanning dozens of genres, designed with the feel of classic old-school party games.
- Online play through solo-queue matchmaking or custom lobbies with friends, on an always-online backend that also holds each player's inventory.
- Over 100 playable characters and hundreds of unlocks, with names and appearances that can be changed at any time.
- Tickets earned by playing buy hats, taunts, characters and more, alongside in-app purchases.
- A live-service model with regular content updates: new minigames, characters, hats and taunts.
C#, Unity Engine, Unit Testing, SQL, Azure, AWS, CI/CD, Git

Grand Battle
Ten-character action RPG. Jan 2017 - Jan 2018.
Lionheart Gaming
Built and released Grand Battle, a free-to-play action RPG on Steam. A meteor strike brings monsters to the planet, and a party of heroes fights across themed areas to find out why. Up to four friends can play together on one screen.
- Ten playable heroes across nine classes, from Great Axe and Sword Master to Staff Magic, Elemental Golem and Bow & Arrow, each with its own combat style.
- A party of four with instant switching between heroes, and AI party members whose behaviour the player can configure.
- Local split-screen co-op and PvP for up to four players, with full XInput controller support.
- Over 100 quests, monsters that drop crafting materials for upgrading equipment, and gear that grants abilities and changes how each hero fights.
- Shipped on Steam with achievements, Remote Play Together and Family Sharing, plus a paid item pack DLC.
C#, Unity Engine, Steamworks, Unit Testing, CI/CD, Git