The Carbon Cost of Intelligence
28 pages for .NET architects on measuring and cutting the carbon cost of AI inference, with .NET 10 patterns and a reproducible benchmark.
Optimizely Most Valuable Professional since 2024: Gold that first year, then Platinum in 2025 and again in 2026. It recognises people who give back to the Optimizely community, not just those who build on it.
For me that means blog posts, white papers, open source tools such as MicroMediator and Optimizely Feature Flagging, Opal hackathon projects, and mentoring other developers. If I've solved something awkward on a build, I write it up.
20+ years of .NET and C#, almost all of it in digital agencies. As Technical Architect at MSQ DX I pitch, run discovery, shape the solution, and stay hands-on with code for key clients.
I build on Optimizely, Contentful, Umbraco and SDL Tridion, and have built bespoke CMS and e-commerce platforms used by JD Sports, size? and A-Plant. Clean architecture and the mediator pattern are my defaults.
Always tinkering with something new, like the Konami Code easter egg on this site.
28 pages for .NET architects on measuring and cutting the carbon cost of AI inference, with .NET 10 patterns and a reproducible benchmark.
A lightweight, high-performance mediator library for .NET. Explicit handler lifetimes, streaming with IAsyncEnumerable, and benchmarks against MediatR.
Seed pages, shared blocks and media into Optimizely CMS 12 and 13 from a fluent C# definition. Idempotent, with an admin gadget to reseed or delete, Visual Builder support on CMS 13, and optional AI-written content through Claude, OpenAI or Ollama. On NuGet as TechnicalDogsbody.Optimizely.ContentSeeder.
Optimizely, Contentful, Umbraco or something bespoke: if it runs on .NET, I can help. The quickest way to reach me is LinkedIn.