Work

Selected projects.

Real systems, described by industry rather than by name. Each one: the problem, what I built, and what changed.

Internal platform · unified communications managed service · 2026

Teams-native contact centre core on the Unify model

A reusable platform core that puts an AI front door on Teams Phone numbers, then hands callers to people in Teams with the conversation context already on screen.

Azure Communication ServicesTeams Phone ExtensibilityTeams call queuesCopilot Studio
Customer proof of concept · in-app Teams calling · 2026

Teams Phone calling inside a business web app

A browser phone that lets staff make and take calls on their own Teams Phone number from inside their own web app, with no Teams client and no separate softphone.

Azure Communication ServicesTeams PhoneTeams callingMicrosoft Entra ID
Australian financial services company · 2026

CRM-matched AI voice receptionist

A real-time voice agent that recognises callers against a line-of-business database, verifies them, and routes each existing customer straight to their own account team.

Copilot Studio (real-time voice)Dynamics 365 Contact CenterTeams Phone ExtensibilityPower Automate
Australian contact centre (first tenant) · built as a reusable service · 2026

Multi-tenant Teams call reporting & analytics

An Azure-hosted pipeline that pulls each customer's Teams call records from Microsoft Graph daily, classifies every call leg, and delivers reports — with onboarding fully automated in GitHub Actions.

Microsoft Graph callRecordsPowerShell 7Azure AutomationKey Vault
Internal product · unified communications managed service · 2026

Live AI voice agent demo for sales

A split-screen sales page where a salesperson types in a prospect's website and, about a minute later, demos a voice agent that speaks as that prospect's own virtual assistant.

Azure AI Foundry voice agentsAzure OpenAI (realtime speech + web search)Azure Functions (Node.js)Azure Storage queues and tables
Internal product · unified communications managed service · 2026

AI voice agent monitoring platform

A multi-vendor service that ingests telemetry from Copilot Studio and Zoom virtual agents, computes daily quality metrics, and raises alerts — hardened through repeated self-run security reviews.

Azure Functions (Python)Azure SQLStatic Web AppsReact
Internal platform · unified communications managed service · 2026

Custom voice gateway for Copilot Studio agents

A Python gateway on Azure Communication Services that puts any Copilot Studio agent on a phone number — with a choice of neural voices, per-number voice routing and live transfer to a Teams user.

Azure Communication Services Call AutomationTeams Phone ExtensibilityDirect RoutingCopilot Studio Direct Line
National workforce services organisation · 2026

SBC estate audit before a carrier migration

A full audit of two on-premises session border controllers and the Teams voice-routing setup, so both could be safely decommissioned ahead of a move to carrier-hosted calling.

AudioCodes Mediant SBCTeams Direct RoutingTeams PowerShellMermaid
Internal IT service desk · pattern later scoped for a manufacturer · 2026

Voice-activated IT service desk

A real-time voice agent for internal IT support that recognises staff by caller ID, greets them by name, logs and updates tickets, and texts a self-service password reset link.

Copilot Studio (real-time voice)Microsoft GraphPower AutomateEntra ID SSPR
Financial services contact centre · 2026

Call-transcript search agent that scales

An internal chat agent that searches thousands of contact-centre call transcripts by keyword and date and reports sentiment and themes — rebuilt after it hit a hard platform limit in production.

Copilot StudioPower AutomateDataverse Relevance SearchDynamics 365 Contact Center
Multi-site community healthcare provider · 2026

Automated Teams call-flow documentation

Turned an unreadable, auto-generated call-flow export into a linked set of diagrams and PDFs covering every auto attendant and call queue across a multi-site phone system.

Teams PowerShellopen-source call-flow visualiser (forked)MermaidNode.js
Subscription services contact centre scenario (training deployment) · 2026

Zoom virtual agent for subscription retention

A Zoom Contact Center virtual agent that recognises known callers, runs a subscription-cancellation retention flow and hands off to the right skilled agent — built entirely on Zoom's native builder.

Zoom Contact CenterZoom Virtual AgentFlow builderSkill Library
Large professional services firm · 2023

Skype for Business to Teams voice migration

End-to-end migration of enterprise voice from Skype for Business to Microsoft Teams, including PSTN integration and collaborative calling.

Microsoft Teams PhoneDirect RoutingSkype for BusinessPowerShell
Multi-brand travel group · 2019

Global contact centre redesign & DR

Designed a global Enghouse contact centre solution for a multi-brand travel group, then built the disaster recovery environment and led a major platform upgrade.

Enghouse InteractiveIVRSkype for BusinessVoIP
Internal R&D lab · 2026

AI build orchestrator

An idea-to-deployment pipeline that researches with one model and builds with another — triggered from chat.

Node.jsGeminiClaudeCodex