I’m Lukas Walter, a software engineer and cloud/AI consultant focused on building robust, scalable systems with .NET and Azure.
I write practical guides on .NET, AI, agents, evaluation, observability, retrieval, testing, guardrails, and Azure.
I’m Lukas Walter, a software engineer and cloud/AI consultant focused on building robust, scalable systems with .NET and Azure.
I write practical guides on .NET, AI, agents, evaluation, observability, retrieval, testing, guardrails, and Azure.
Engineering Tips
40 concise, searchable notes for .NET, Azure, and production AI systems. New tips are added regularly.
Start here
Where Agent Framework fits in the .NET AI stack, from agents and tools to MCP integration and workflows.
Read the introductionBuild RAG retrieval in .NET with PostgreSQL, pgvector, and EF Core.
Read the articleTrace model calls, tool calls, token usage, and failures with OpenTelemetry, Aspire, and Application Insights.
Read the guideBuild, containerize, deploy, and call a Streamable HTTP MCP server with the official .NET SDK.
Read the guideLatest posts
Apply different ASP.NET Core rate limits to cheap reads and expensive AI or data-processing endpoints.
Assume a queue message can arrive more than once and make the handler’s business effects safe to repeat.
Let Aspire pass service discovery information so application code can use logical service names instead of local port numbers.
Give paged database queries a fully unique order so rows with the same sort value cannot move unpredictably between pages.
Treat deserialized model output as untrusted data and apply normal business validation before it drives application behavior.