Blog

Thoughts on software engineering, architecture, and building great products.

Blazor Web Apps in 2026: Render Modes, Architecture, and When to Choose It Over Next.js
Backend
BlazorASP.NET CoreC#

Blazor Web Apps in 2026: Render Modes, Architecture, and When to Choose It Over Next.js

Modern Blazor is far more than Microsoft's answer to React. With render modes, streaming rendering, server-side... Read More →

PostgreSQL Is No Longer Just a Database
Backend
PostgreSQLDatabasesBackend

PostgreSQL Is No Longer Just a Database

PostgreSQL has evolved far beyond a traditional relational database. From document storage and full-text search to vector... Read More →

The .NET CLI and Project Structure Guide I Wish I Had When Transitioning from Spring Boot
Backend
.NETASP.NET CoreDotnet CLI

The .NET CLI and Project Structure Guide I Wish I Had When Transitioning from Spring Boot

Transitioning from Spring Boot to .NET can feel overwhelming at first, especially when learning the .NET CLI, project... Read More →

EF Core Performance Mistakes That Quietly Destroy Production APIs
Backend
EF CoreEntity FrameworkLINQ

EF Core Performance Mistakes That Quietly Destroy Production APIs

Entity Framework Core is not inherently slow. Most performance problems come from misunderstanding how LINQ translates into... Read More →

15 Advanced .NET Libraries Senior Developers Use
Backend
.NETC#Backend

15 Advanced .NET Libraries Senior Developers Use

Move beyond basic NuGet packages. Discover 15 advanced .NET libraries that senior developers leverage to build resilient,... Read More →

The TanStack Sabotage: Deconstructing a Million-Download Supply Chain Attack
Security
SecurityJavaScriptTanStack

The TanStack Sabotage: Deconstructing a Million-Download Supply Chain Attack

Over 100 packages compromised. Millions of weekly downloads at risk. Discover how a 'Fork-and-Poison' CI attack breached the... Read More →

Chat on WhatsApp