Hey, It's Berk Selvi
.NET Developer, blogger and builder.

Who am I?
I am a Software Developer with over 2 years of experience in .𝗡𝗘𝗧 and 𝗱𝗶𝘀𝘁𝗿𝗶𝗯𝘂𝘁𝗲𝗱 𝘀𝘆𝘀𝘁𝗲𝗺𝘀, with domain expertise in insurance and fleet. Focused on microservices, event-driven architectures, and improving engineering practices in Agile environments. Passionate about software architecture, DevOps, open-source software, public speaking, and technical blogging.
From IEnumerable to IAsyncEnumerable: Streaming Large Datasets in .NET Without Killing Memory
IAsyncEnumerable in .NET streams large datasets record by record with EF Core, cutting memory use compared to loading everything into a List with ToListAsync.
The Idempotency Key Pattern in .NET: What Happens When Your Payment API Gets Called Twice
Implement the idempotency key pattern in .NET to build an idempotent API that stops payment retries from causing duplicate charges.
Events vs Commands in Software Architecture: A Complete .NET Guide
Demystify the critical differences between events and commands in software architecture. Learn how to decouple microservices using .NET code examples, MediatR, and asynchronous messaging patterns.
June 2026 AI Economy: LLM Price and Performance Comparison
Explore the price and performance balances in the AI industry as of June 2026. Discover the cost gaps between Large Language Models (LLMs) and learn how to optimize your AI budget.
Refactoring from an Anemic to a Rich Domain Model in .NET
Learn how to cure the Anemic Domain Model anti-pattern in .NET. Discover practical steps to encapsulate business logic inside your C# entities, configure EF Core, and simplify your unit testing.
Legacy WCF/SOAP to Modern .NET: Migration Without Compromise
Discover how to migrate legacy .NET Framework WCF/SOAP applications to modern .NET without breaking existing SOAP integrations. This guide demonstrates practical patterns for using CoreWCF to preserve your SOAP contracts, embrace modern development practices, and deliver a seamless transition for all stakeholders.
gRPC in .NET Microservices: Comparison with REST
Achieve high-performance synchronous communication in your .NET services with gRPC, leveraging features like Protocol Buffers and HTTP/2 streaming to capture performance advantage compared to REST.
Enforce Code Quality in .NET: .editorconfig & Analyzers & Pre-Commit Hooks
Enforce code quality in .NET projects using TreatWarningsAsErrors, .editorconfig, SonarAnalyzer, Roslynator, and pre-commit hooks. Improve team productivity, code consistency, and build robust CI/CD pipelines.
Feature Flagging in .NET with OpenFeature and flagd
OpenFeature and flagd in your .NET applications helps you to implement robust, vendor-neutral feature flag management in your projects. Leave behind old environment variables, enable safe and dynamic releases, run A/B tests, and gain the ability to respond instantly.
Real-Time Communication with SignalR: A Deep Dive
Discover the power of real-time communication with SignalR! In this blog post, learn how SignalR simplifies adding live features to your .NET applications by abstracting complex protocols like WebSockets, Server-Sent Events, and Long Polling. From setting up SignalR in your project to advanced features like targeting specific clients and scaling with Redis, this guide has everything you need to create responsive and dynamic applications. Let’s dive into the world of SignalR!