.NET portfolio project ideas that impress hiring managers: what to build, what every project must include, and the mistakes that get portfolios skipped.
Dotnet background jobs compared: BackgroundService, IHostedService, queues and Hangfire — persistence, retries, scaling, and which to choose when.
Ollama C# tutorial: run Llama and other open models locally and call them from .NET via OllamaSharp or the OpenAI-compatible API — private and free.
Enable nullable reference types in an existing .NET project without drowning in warnings: a file-by-file migration strategy, annotations, and pitfalls.
LLM structured output in C#: use OpenAI structured outputs and JSON schema to get typed, deserializable results — no more regex-parsing model prose.
Function calling with OpenAI in C#: how tool calls work under the hood, the invocation loop, and the security rules for exposing .NET methods to an LLM.
When to use a C# record vs class vs struct: value equality, immutability, allocation behavior, and a practical decision tree with real code examples.
Vector embeddings in .NET explained: what embedding vectors are, cosine similarity in C#, semantic search, and when you need a real vector database.
LINQ performance best practices from production .NET: multiple enumeration, Count vs Any, allocation costs, and when a plain loop beats a query.
RAG C# implementation guide: chunking, embeddings, vector search and grounded prompts — build a document Q&A system in .NET with real code.
Diagnose and fix the EF Core N+1 query problem with Include, projections and split queries — plus how to catch lazy-loading traps before production.
Semantic Kernel C# tutorial: build a chatbot with conversation memory, plugins, and streaming in ASP.NET Core — a complete working example for .NET devs.
Microsoft.Extensions.AI tutorial: use IChatClient to swap OpenAI, Azure and Ollama models freely, add middleware, and future-proof your .NET AI code.
Learn the most common async await C# mistakes — async void, .Result deadlocks, missing ConfigureAwait and more — with fixes from production code.