Software architecture for systems that have to work.
I modernize platforms, put AI into production safely, and instrument delivery so leadership can see it — for CTOs who need systems that survive contact with production. Independent practice: senior architect, direct engagement, no handoff to a junior.
Three things, done deliberately.
Most consultancies sell a service list. I sell judgment on three problems I have actually shipped through to production, repeatedly, in the kind of environment that doesn't tolerate hand-waving.
Platform Modernization
Move legacy estates to a modern Azure platform without breaking the business.
- Azure landing zones, modular APIs, reference architectures
- Strangler-fig migration patterns from monoliths to services
- DevOps pipelines with policy-as-code and quality gates
AI Orchestration
Production-grade multi-agent systems on Claude, Azure OpenAI, and custom MCP servers.
- Multi-agent orchestration on Claude and Azure OpenAI
- Custom MCP servers exposing your internal tools to agents
- Workflow automation with human-in-the-loop gates
Delivery Intelligence
Power BI dashboards leadership trusts, fed by KPIs the team controls.
- Power BI semantic models on Fabric or your existing warehouse
- DevOps + product KPIs joined to financial outcomes
- Adoption scoring for new platforms and AI rollouts
Engagements, not deliverables.
A small subset of what I have led across two decades — enough to show the shape of the work. Each entry is the engagement, the constraints, and what actually shipped.
Interactive relationship analytics for an enterprise CRM
An enterprise CRM team wanted to see the relationships inside its interaction data — which internal people engaged which external contacts,…
Single sign-on across SharePoint and Entra ID
A SharePoint-hosted application made users sign in twice — once to SharePoint, then again to Entra ID for the app's own API calls. A small…
Resumable high-volume API ingestion for an ad-tech platform
An advertising-technology platform needed a large, paginated external API pulled into SQL on a schedule — tens of thousands of records, dee…
Selected clients & partners
Tell me about the platform problem.
I read every inbound myself. You'll get a real reply, usually within two business days. If it isn't a fit, I'll say so.