Expertise

What I deliver.

Ten-plus years across the Microsoft business-applications stack — from data model to deployed solution. Below are the areas I work in, and a few projects that show how they come together.

Service areas

Eight areas, delivered hands-on.

Dynamics 365 Customer Engagement

CE/CRM configuration, customisation and extension — Sales, Customer Service and custom apps.

Dynamics 365 Finance & Operations

F&O/ERP delivery, including Project Operations and event-driven extensions.

Power Platform

Power Apps, Power Automate and Copilot Studio building real, usable business workflows.

Dataverse & data architecture

Clean data models, relationships and a security model that scales.

Plugin & custom development

C#/.NET plugins, custom APIs and JavaScript Client API work where configuration isn't enough.

Azure integration

Service Bus, Functions, App Service and Microsoft Graph — reliable, decoupled integrations.

AI & automation

Copilot Studio assistants, Azure AI Document Intelligence and automated document pipelines.

Migration & documentation

Data and document migration at scale, with reconciliation and auto-generated solution documentation.

Selected work

Representative engagements.

Copilot StudioDirectLine SDKDataverseAzure App Service

Bilingual EN/FR enterprise assistant

Problem

A public-sector regulator needed a self-service assistant that answered users in both English and French and pulled from live CRM data.

Approach

Built on Copilot Studio with the DirectLine SDK, backed by Dataverse and hosted on Azure App Service — fully bilingual from the ground up.

Outcome

A consistent, always-available bilingual experience that deflects routine enquiries from staff.

C# / .NETMicrosoft GraphMSALSharePoint

Bulk document migration pipeline

Problem

Tens of thousands of PDFs needed processing and migrating into SharePoint without a single record lost.

Approach

A C#/.NET pipeline using the Microsoft Graph API with MSAL token refresh, plus full reconciliation reporting on every batch.

Outcome

80,000+ records migrated with end-to-end reconciliation and verifiable integrity.

DataverseRBACGovernanceSecurity

Dataverse role-based security model

Problem

An environment with unclear, over-broad access needed a governed, audit-ready security model.

Approach

Designed and rolled out a role-based access control model across business units, mapping roles to least-privilege access.

Outcome

A least-privilege, audit-ready security posture aligned to how the organisation actually works.

Dynamics 365AzureService BusArchitecture

Decoupled email notification platform

Problem

A D365 CRM team faced unreliable server-side sync and a looming EWS retirement deadline threatening their notifications.

Approach

Architected a decoupled, Azure-based notification platform to replace fragile native sync and remove the EWS dependency.

Outcome

Resilient, future-proof notifications independent of the retiring infrastructure.

More detail available on request, under NDA where appropriate.

Need this kind of delivery on your team?

I take on remote contract engagements with UK and European clients. Tell me what you're building.

Check availability