Blog Posts

Latest articles and insights

A practical tour of C# 14 features that make everyday .NET code more expressive.

C# 14 in Practice: Cleaner APIs, Safer State, Less Ceremony

Razvan Mares7 min read

C# 14 arrives alongside .NET 10 with a deliberately practical collection of language improvements. It is not a release defined by one dramatic new abstraction. Instead, it removes friction from the pl...

.NETdotnet-10ef-core+1
How to give AI agents real operational agency without surrendering safety, control, or auditability.

Bounded Autonomy: Designing Production AI Agents That Know Their Limits

Razvan Mares7 min read

AI agents are often introduced as if autonomy were a binary setting: either the model answers questions, or it takes actions. Production systems are less forgiving. An agent that can do nothing useful...

ci-cdAI/MLrest-apis+2
A practical workflow for using Claude Opus 4.8 to review pull requests with context, discipline, and traceability.

AI Code Review with Claude Opus 4.8: From Diff Scanner to Design Critic

Razvan Mares9 min read

Code review is one of the most valuable and least mechanically scalable activities in software engineering. A pull request may be only a few hundred changed lines, but evaluating it properly often mea...

PostgreSQLGitHub Actionsci-cd+2
A practical architecture for moving from chat completions to observable, workflow-driven agents.

Microsoft Agent Framework 1.0: Building Durable AI Agents in .NET

Razvan Mares9 min read

AI features often begin as a single prompt and a single API call. A user asks a question, the application sends context to a model, and a response appears on screen. That pattern is useful, but it is ...

.NETcsharpAI/ML+2
How proposed C# union types and closed hierarchies make invalid states harder to represent.

C# Unions and Closed Classes: A New Model for State in .NET 11

Razvan Mares7 min read

Most C# domain models begin with a practical compromise: a base class, a few derived classes, perhaps an enum for status, and a switch expression that everyone hopes will stay current. That compromis...

.NETcsharprest-apis
A practical framework for turning Claude into a reliable engineering collaborator.

Claude Enhancement: Building an AI-Ready Development Practice

Razvan Mares8 min read

Software developers do not need another autocomplete tool that confidently guesses the next line of code. They need leverage: a way to move from an ambiguous request to a well-reasoned implementation ...

GitHub Actionsci-cdcsharp+2