AI & ML
Highlight Built a multi-agent sales engine that runs prospect outreach, qualifies leads through multi-turn conversation, and hands off only the moments that need a human.
Four AI systems shipped to production so far: an autonomous sales engine, an Azure OpenAI lead generator built solo at minimal cost, an end-to-end employee onboarding system, and an in-app assistant inside a live SaaS platform. RAG pipelines, vector search, and agent orchestration are the muscle underneath; prompt engineering and evaluation are how I keep them honest.
Tools
Azure OpenAILLMsLangChainRAG PipelinesFine-tuningPrompt Engineering
Languages
Highlight Nine years of C# across .NET Framework, .NET Core and beyond — the language I think in.
TypeScript and modern JavaScript on the front-of-house, Python when the work is AI- or data-shaped, and SQL fluently enough to read a query plan and rewrite it. A little Go and Rust where the situation rewards them.
Tools
C#TypeScriptJavaScriptPythonSQL
Frameworks
Highlight ASP.NET Core + Clean Architecture is my default scaffold for systems that have to last — legible six months later, refactor-friendly, easy to test.
React, Next.js and Blazor on the surfaces users actually touch. SignalR for real-time channels, MediatR and FluentValidation to keep handlers and pipelines clean. Minimal APIs when the service is small enough to deserve them.
Tools
.NET CoreASP.NETReactNext.jsAngularBlazorNode.jsSignalRMediatR
Cloud & Infra
Highlight Decomposed a large monolith into Azure microservices with zero downtime — 70% performance gain on the way out, traffic routed live the whole time.
Re-architected a legacy ASP WebForms platform onto AWS ECS + Lambda for a Canadian healthcare audit system: 75% faster, 40% cheaper, 5,000+ concurrent users. Bicep and Terraform describe the environments; Azure DevOps and GitHub Actions ship them; Container Apps and AKS run them.
Tools
AzureAWSDockerKubernetesAzure FunctionsAWS LambdaTerraformAzure DevOpsGitHub ActionsMicroservices
Databases
Highlight Tuned multi-tenant SQL Server schemas behind a 5,000+ concurrent-user platform — indexes, partitioning, and query plans, not just ORMs.
Postgres for the systems of record, MongoDB and Cosmos when the shape is wrong for relational, Redis as the always-warm layer in front of both. The discipline that matters most is knowing when to denormalize and when to stop.
Tools
MS SQL ServerPostgreSQLMongoDBRedisAzure Cosmos DB
Architecture
Highlight Designed and led the microservices decomposition of a large .NET monolith — bounded contexts, an event-driven backbone, and a contract-first edge.
Event-driven and CQRS where the domain genuinely calls for them; Clean Architecture and DDD as the default scaffold so teams can navigate the code months later. REST for the boring 90%, GraphQL when consumers need flexibility, gRPC when latency budgets are tight.
Tools
Event-drivenDDDCQRSEvent SourcingClean ArchitectureRESTGraphQLgRPC
Auth & Security
Highlight Shipped enterprise-grade identity into a Canadian healthcare audit platform — least-privilege roles, SSO, full audit trail, GuardDuty on the perimeter.
Entra ID for enterprise tenants, Duende / Identity Server for self-hosted, OAuth2 and OIDC as the common language between them. Comfortable with multi-tenant isolation, key rotation, and getting secrets out of source.
Tools
OAuth2Azure AD / Entra IDIdentity Server
Testing
Highlight Green pipelines as a precondition for shipping — not a nice-to-have, on every project I lead.
xUnit at the unit and integration layer for backend services, Playwright for end-to-end coverage on the SaaS surfaces. Contract tests at service boundaries, load tests before launches; tests run on every PR through Azure DevOps and GitHub Actions.
Tools
xUnitPlaywright
Observability
Highlight Re-architectures land measurably better — 70% and 75% performance gains — because the before/after numbers are in front of you the whole time.
OpenTelemetry as the contract, App Insights and Grafana as the surfaces, Seq when an engineer needs to read structured logs the way they actually think. Tracing, metrics and structured logs treated as one product, not three.
Tools
OpenTelemetryGrafanaSeqPrometheusApplication Insights
Integrations
Highlight Architected an autonomous CRM ecosystem — HubSpot, Podio, Sage, Monday.com, ActiveCampaign and Zapier stitched into one workflow with humans only where judgment matters.
RabbitMQ, Kafka and Service Bus for the async backbone; Power BI and Power Automate where the business needs the data and the actions to live next to each other. Webhooks, queues and idempotent consumers as a way of life.
Tools
RabbitMQKafkaService BusHubSpotPodioZapierSageMonday.comActiveCampaignPower AutomatePower BI