.NET & C#

Twenty-plus years of C#. Roots at Microsoft itself.

.NET is the through-line of my whole career. I started at Microsoft in 1994 — Visual C++ and Visual Basic before .NET existed — and I’ve written C# from its earliest versions all the way to .NET 8. Framework upgrades, cloud-native services, ML and AI integration, Blazor front ends: when the platform is .NET, I’ve already shipped it — usually several times, at enterprise scale.

Pre-.NET Roots, Post-.NET 8 Fluency

I was writing Microsoft developer tools before .NET had a name.

My first job in the stack was at Microsoft in 1994 — building ActiveX runtime controls in C for Visual C++ and Visual Basic on Windows CE. When C# arrived, I adopted it from its earliest versions and never left, carrying production systems through every major framework generation to .NET 8. That depth is why enterprises hand me their hardest upgrades: I’ve seen every breaking change because I was there when the API was born. Even this website is proof — it’s a Blazor app, statically rendered for SEO, written in C#.

What I Build in .NET

Six .NET disciplines, delivered from legacy Framework estates to cloud-native .NET 8.

Modernization & Framework Upgrades

.NET Framework → .NET Core → .NET 8 — upgrade paths scoped with the Upgrade Assistant, breaking changes triaged per service, shared libraries ported first so every downstream team lands on solid ground. I’ve authored the org-wide upgrade playbooks that other teams follow — and carried the services through myself.

Cloud-Native .NET

ASP.NET Core REST services, containerized .NET on Linux, Kubernetes with KEDA autoscaling — .NET that scales like it was born in the cloud, because the way I build it, it was. Dockerfiles, pipelines, and security scans included, not bolted on. See my cloud work

ML & AI in .NET

Machine learning without leaving the stack: ML.NET time-series forecasting (SSA and SDCA) running inside C# services, and Claude / LLM integration called from .NET back ends. My own product grades investments with ML.NET and explains the grades with Claude — all orchestrated in C#.

Blazor Web Apps

Full-stack web apps in C# with Blazor WebAssembly, Blazor Server, and static SSR — one language from database to browser. The site you’re reading right now is a Blazor app I built and run in production. I don’t just recommend Blazor; I bet my own site on it.

.NET MAUI & Cross-Platform

.NET MAUI for mobile and desktop clients that share code with the server — one C# codebase reaching iOS, Android, Windows, and macOS. When a platform already runs on .NET services, a MAUI client keeps the whole estate in one language and one test discipline.

Testing & Engineering Discipline

xUnit and moq suites in the hundreds of tests — my own product ships with 596 — plus TPL and async patterns done correctly, trunk-based development, and C# coding standards I’ve authored for client teams. Fast code that can’t be verified is slow code waiting to happen.

.NET in the Wild — Real Engagements

Four engagements across healthcare, banking, telecom, and my own product — upgrades, cloud-native services, and AI in production C#.

Healthcare · .NET 8 Upgrade

Centene — The .NET 8 Upgrade Playbook for a Fortune-25 Enterprise

Nine months modernizing the utilization-management platform at the Fortune-25 managed-care enterprise: I authored the org-wide .NET Core 3.1 → .NET 8 upgrade playbook other teams followed, ported the shared libraries first — auth, messaging, caching — and personally carried 15+ services through upgrade, Dockerfile, pipeline, and security scans.

Banking · C#/.NET on Azure

Fiserv — .NET Digital Banking for 2,000+ Banks

Top technologist on a 60+ person program building a C#/.NET cloud stand-in digital banking platform on Azure — serving 2,000+ banks and 10 million banking customers, with Cosmos DB for data and KEDA-driven scale under real transaction load.

Fintech · ML.NET + Claude

Grade My Investments — 195K Lines of Production C#

My in-house product: 195K+ lines of C#, 596 tests, 11 background services, and 4 client apps — ML.NET (SSA/SDCA) grading investments with a Claude language layer explaining the results, running on 50+ Azure resources. Built solo in six months, and the standing proof of how I engineer .NET.

Read the full case study
Telecom · Windows → Linux

Windows-Only .NET to Linux Containers for a National Telecom

For a major national telecom provider, I ported Windows-only .NET OSS services to Linux containers: isolating Windows-only DLL dependencies, rewriting data access on EF Core, building Docker/Podman images deployed through Portainer, and integrating IBM DB2 and Informix native drivers on Linux — the unglamorous work that makes .NET truly cross-platform.

Need .NET depth that predates .NET itself?

Framework upgrades, cloud-native C#, ML.NET and Claude integration, Blazor, and MAUI — delivered hands-on, with the tests to prove it. From Koch Kafka producer/consumer demos to FM Global’s .NET orchestration architecture, I’ve shipped it.