I joined VQ Communications in late 2023 as a Senior Software Engineer in the UI & Integrations team. I have been pivotal in establishing their hybrid infrastructure and have delivered both on-prem and cloud solutions as well as products that span both to make full use of that hybrid infrastructure.
ACC Data Aggregation API
A major highlight in my time so far at VQ has been architecting and owning the core data aggregation API that underpins the flagship Advanced Operations Console (ACC) — a crisis management product built in partnership with a leading US research facility.
The API is a NestJS service that unifies data from legacy and new internal APIs, with its own data store to augment and enrich data from other sources. It's fully containerised with Docker and deployed on Kubernetes. I owned this workstream within the wider team — refining tasks, co-ordinating three engineers, and assigning work alongside my own contributions.
The project ships with full OpenAPI documentation and a comprehensive automated test suite covering unit, integration, and smoke tests, all running automatically in GitHub Actions.
AI Transcription Orchestration API
I built an orchestration API for an on-prem AI-powered transcription product targeting high-security environments. The system orchestrates a bot that joins video calls and records audio, stores data in PostgreSQL via TypeORM, and queues tasks to be dispatched to a transcription service.
I designed it for resilience — handling service crashes, complex retry logic, and recovery scenarios — so that each component can focus on its core responsibility. The API is scalable, configurable, and built to handle the complicated orchestration logic so the recording bot and transcription service can remain simple and focused.
Hybrid Calendar
I played a key role in the design and construction of Hybrid Calendar — an add-on for VQ Conference Manager that bridges Microsoft 365 calendaring with external video conferencing platforms like Cisco Meeting Server and Webex.
The product enables One-Button-to-Push (OBTP) joining from calendar invites across multiple conferencing platforms, giving organisations running hybrid video infrastructure a unified scheduling and meeting-access experience directly from Outlook.
Metro for Microsoft Teams
I played a key role in building Metro — a premium self-service conferencing application that integrates directly into Microsoft Teams and Outlook. It allows end users to manage Cisco Meeting Server spaces, schedule one-off or recurring meetings, and join calls with a single click — all from within the tools they already use.
Built on the Microsoft Graph API, Metro provides calendar views, passcode management, and multi-device support across desktop, mobile, and Cisco video endpoints. I was involved enough in the product to demo it live on a VQ webinar.
Internal Resource Management Tool
I designed the architecture for this tool from scratch, creating complete technical diagrams to pitch to stakeholders. The tool allows staff to quickly loan internal resources like VMs and devices, and gives the company full visibility into who has what.
It's deployed on Azure App Service, secured with private endpoints and a VPN Gateway, meaning it runs in the cloud, but is not publicly accessible. It also has a Slack integration for notifications.
Developer Experience Improvements
I created a TypeScript npm library that abstracts the Azure Cosmos SDK (NoSQL) to improve developer experience across the team.
As well as initially creating CI/CD GitHub Actions pipelines that deploy across the hybrid network I set up for the company, I have also recently refined those pipelines to run in half the time. For one service in particular, we can deploy the new code to an on-prem VM and run the full suite of unit, integration and smoke tests in under 4 minutes instead of 10 minutes. I achieved this by:
- Recognising that some integration tests could achieve the same effective coverage as unit tests, making them cheaper to run.
- Isolating integration tests that previously ran against a real VM. I set up an in-memory Postgres instance that spins up at the start of the test run and tears down at the end, mocked all other external API calls, and used Supertest to ensure we were still testing with real HTTP requests.
- Parallelising jobs. With the integration suite fully isolated, it runs concurrently with unit tests, and the deployment to the integration VM begins immediately rather than waiting for unit tests to pass.
Customer Deployment Flows
I designed end-to-end customer deployment flows using Bicep and Azure Template Specs. The flow starts with a Node.js Single Executable Application (SEA) that provisions artefacts into the customer's Azure environment, followed by a Template Spec that gives customers a native Azure form to configure our deployment in their cloud. This gives customers a seamless, self-service onboarding experience.
Infrastructure & DevOps
I set up the company's hybrid Azure network via VPN Gateway, connecting on-prem servers with Azure cloud services. I built secure CI/CD pipelines running on self-hosted GitHub Actions runners inside an Azure VNet, deploying to on-prem Kubernetes clusters.
I also introduced a centralised automated testing approach integrated with CI/CD that was instrumental in securing a major new customer contract. Beyond product work, I mentor junior developers, interview candidates for engineering roles, and actively contribute to improving internal processes and developer experience.
I use GitHub Copilot daily — both the VS Code integration and CLI — to accelerate development, improve code quality, and streamline repetitive tasks.
