<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Lior Sherbaty — Blog</title>
    <link>https://liorsherbaty.pages.dev/blog</link>
    <description>Writing about .NET architecture, concurrency, testability, and modernizing systems people depend on.</description>
    <language>en</language>
    <lastBuildDate>Sat, 21 Feb 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://liorsherbaty.pages.dev/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>My Wife Was My Product Owner: Building Software Through Real Agile Feedback</title>
      <link>https://liorsherbaty.pages.dev/blog/my-wife-was-my-product-owner</link>
      <guid isPermaLink="true">https://liorsherbaty.pages.dev/blog/my-wife-was-my-product-owner</guid>
      <pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate>
      <description>When my wife&apos;s Excel-and-email workflow started cracking under real workload, I did what any developer would: I interviewed her like a stakeholder, built a prototype, and iterated through four feedback rounds until the tool actually solved her problem.</description>
      <category>local-first</category>
      <category>react</category>
      <category>agile</category>
    </item>
    <item>
      <title>I Knew Enough to Be Dangerous: A Deep Dive into .NET Concurrency</title>
      <link>https://liorsherbaty.pages.dev/blog/i-knew-enough-to-be-dangerous-dotnet-concurrency</link>
      <guid isPermaLink="true">https://liorsherbaty.pages.dev/blog/i-knew-enough-to-be-dangerous-dotnet-concurrency</guid>
      <pubDate>Sat, 14 Feb 2026 00:00:00 GMT</pubDate>
      <description>I&apos;ve been writing async/await for years. Then an event silently disappeared in production — no exception, no log, nothing. That&apos;s when I stopped patching and started understanding Tasks, Channels, and IObservable from the ground up.</description>
      <category>dotnet</category>
      <category>csharp</category>
      <category>concurrency</category>
      <category>architecture</category>
      <category>performance</category>
    </item>
    <item>
      <title>TaskDashboard: Building a Local-First, Portable Project Manager</title>
      <link>https://liorsherbaty.pages.dev/blog/taskdashboard-local-first-project-manager</link>
      <guid isPermaLink="true">https://liorsherbaty.pages.dev/blog/taskdashboard-local-first-project-manager</guid>
      <pubDate>Wed, 10 Dec 2025 00:00:00 GMT</pubDate>
      <description>When generic SaaS tools failed to track &apos;blocked&apos; workflows effectively, I built TaskDashboard. A standalone, portable Electron application designed for privacy, hierarchy, and managing dependencies without the cloud.</description>
      <category>local-first</category>
      <category>react</category>
      <category>developer-tools</category>
      <category>open-source</category>
    </item>
    <item>
      <title>Architecting a Serverless Resume Builder: The Iframe Firewall Pattern</title>
      <link>https://liorsherbaty.pages.dev/blog/serverless-resume-builder-iframe-firewall</link>
      <guid isPermaLink="true">https://liorsherbaty.pages.dev/blog/serverless-resume-builder-iframe-firewall</guid>
      <pubDate>Fri, 05 Dec 2025 00:00:00 GMT</pubDate>
      <description>Building a static, privacy-first CV creator requires a unique architectural approach. By decoupling the editor UI from the preview engine using an &apos;Iframe Firewall&apos;, we ensure pixel-perfect print layouts without sacrificing a modern React developer experience.</description>
      <category>react</category>
      <category>architecture</category>
      <category>local-first</category>
    </item>
    <item>
      <title>Introducing PromptKit: A Client-Side, Type-Safe Prompt Library</title>
      <link>https://liorsherbaty.pages.dev/blog/introducing-promptkit</link>
      <guid isPermaLink="true">https://liorsherbaty.pages.dev/blog/introducing-promptkit</guid>
      <pubDate>Thu, 27 Nov 2025 00:00:00 GMT</pubDate>
      <description>PromptKit.work is a static React application designed to standardize prompt engineering. It features client-side persistence, real-time previews, and a curated collection of parameterized meta-prompts for software development tasks.</description>
      <category>react</category>
      <category>typescript</category>
      <category>developer-tools</category>
      <category>local-first</category>
    </item>
    <item>
      <title>The Art of the Code Review: Empathy, Efficiency, and Excellence</title>
      <link>https://liorsherbaty.pages.dev/blog/the-art-of-the-code-review</link>
      <guid isPermaLink="true">https://liorsherbaty.pages.dev/blog/the-art-of-the-code-review</guid>
      <pubDate>Wed, 10 Sep 2025 00:00:00 GMT</pubDate>
      <description>Code reviews are more than just bug hunting; they are a vital tool for mentorship and team culture. Learn how to conduct reviews that improve code quality without crushing morale.</description>
      <category>leadership</category>
    </item>
    <item>
      <title>The Race Car vs. The Go-Kart: Why My Fastest Code Was Slower</title>
      <link>https://liorsherbaty.pages.dev/blog/why-my-fastest-code-was-slower</link>
      <guid isPermaLink="true">https://liorsherbaty.pages.dev/blog/why-my-fastest-code-was-slower</guid>
      <pubDate>Fri, 22 Aug 2025 00:00:00 GMT</pubDate>
      <description>I built a project to prove gRPC was faster than HTTP. The results shocked me. Here&apos;s a deep dive into how network protocols perform in the real world and why the &apos;fastest&apos; tool isn&apos;t always the winner.</description>
      <category>dotnet</category>
      <category>csharp</category>
      <category>architecture</category>
      <category>performance</category>
      <category>messaging</category>
      <category>docker</category>
    </item>
    <item>
      <title>Stop Guessing, Start Testing: How to Mock Your WPF ViewModel Logic</title>
      <link>https://liorsherbaty.pages.dev/blog/mocking-your-wpf-viewmodel</link>
      <guid isPermaLink="true">https://liorsherbaty.pages.dev/blog/mocking-your-wpf-viewmodel</guid>
      <pubDate>Sat, 09 Aug 2025 00:00:00 GMT</pubDate>
      <description>Tired of wrestling with network calls and databases just to test a simple color change in your UI? Learn how to use dependency injection and a simple mocking strategy in your .NET WPF app to test your ViewModel logic instantly and reliably.</description>
      <category>wpf</category>
      <category>dotnet</category>
      <category>csharp</category>
      <category>testing</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Taming the Beast: A Deep Dive into High-Performance Data Loading</title>
      <link>https://liorsherbaty.pages.dev/blog/taming-the-beast-high-performance-data-loading</link>
      <guid isPermaLink="true">https://liorsherbaty.pages.dev/blog/taming-the-beast-high-performance-data-loading</guid>
      <pubDate>Sun, 20 Jul 2025 00:00:00 GMT</pubDate>
      <description>Our app was freezing under the weight of huge datasets. Here&apos;s the story of how we went from a slow, monolithic load to a lightning-fast, scalable solution using a hybrid approach of pre-loading, dynamic fetching, and smart data virtualization.</description>
      <category>performance</category>
      <category>dotnet</category>
      <category>architecture</category>
      <category>csharp</category>
    </item>
    <item>
      <title>The Power of Abstraction: Lessons from Test Automation</title>
      <link>https://liorsherbaty.pages.dev/blog/the-power-of-abstraction</link>
      <guid isPermaLink="true">https://liorsherbaty.pages.dev/blog/the-power-of-abstraction</guid>
      <pubDate>Sat, 05 Jul 2025 00:00:00 GMT</pubDate>
      <description>How discovering the Page Object Model taught me the core principles of software design: separation of concerns, maintainability, and the art of abstraction.</description>
      <category>architecture</category>
      <category>clean-code</category>
      <category>testing</category>
    </item>
    <item>
      <title>From QA to Coding: My Unconventional Path to Software Development</title>
      <link>https://liorsherbaty.pages.dev/blog/from-qa-to-coding</link>
      <guid isPermaLink="true">https://liorsherbaty.pages.dev/blog/from-qa-to-coding</guid>
      <pubDate>Fri, 20 Jun 2025 00:00:00 GMT</pubDate>
      <description>Six months of rejections transformed into an unexpected journey through QA and automation, ultimately leading to a dream career in software development.</description>
      <category>career</category>
    </item>
  </channel>
</rss>
