~ / blog

Notes on AI, .NET
& the automation of real work.

Short-form writing on LLM integration patterns, agent orchestration in production, .NET architecture, and how AI-native tooling changes day-to-day engineering. No hype, no takes — just what's working on my keyboard.

Deterministic compute layers for LLM pipelines in .NET

Most LLM-powered analytics look magical in a demo and break in production. A small, boring deterministic compute layer between the model and your UI is what turns a toy into a product. Here's the pattern I've been using in ASP.NET Core services.

The 90-minute audit: finding AI automation wins in an SMB

Before anyone writes a prompt, I run a 90-minute audit of where staff actually spend their hours. The same five patterns keep coming up — document intake, ticket triage, status reporting, form filling, and knowledge lookup. Here's the checklist I use.

Tool-based orchestration beats clever prompting, every time

After a year of building agents for real business workflows, one takeaway keeps winning: stop making the model guess, give it a small, well-typed tool surface. Notes on tool design, error boundaries, and the retry loops that actually converge.

Migrating a legacy .NET Framework service to .NET 10 without a rewrite

A field report from a real migration — breaking a monolith into service-based components with DI, keeping the team shipping features in parallel, and using AI-assisted refactoring where it pays off (and where it absolutely does not).

More posts in progress.   Currently writing about RAG over messy SQL schemas, and a case study on an AWS SNS/SQS agent pipeline.

Get new posts in your inbox

Roughly one email per month. Practical notes on AI integration, .NET, and automation — nothing else.