<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Tulsi Kumari — Backend Software Engineer</title>
    <link>https://tulsi-dev.vercel.app</link>
    <description>Notes on backend engineering, transaction correctness, performance engineering, and distributed systems.</description>
    <language>en-us</language>
    <atom:link href="https://tulsi-dev.vercel.app/feed.xml" rel="self" type="application/rss+xml" />
    <lastBuildDate>Sun, 13 Sep 2026 16:28:22 GMT</lastBuildDate>
    <item>
      <title><![CDATA[Diagnosing a Production Freeze: Connection Pool Starvation Across Service Boundaries]]></title>
      <link>https://tulsi-dev.vercel.app/posts/connection-pool-starvation</link>
      <guid isPermaLink="true">https://tulsi-dev.vercel.app/posts/connection-pool-starvation</guid>
      <pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[A one-hour production freeze, traced back to a transaction that outlived its own database connection.]]></description>
      <category>Java</category>
      <category>Spring Boot</category>
      <category>Production</category>
    </item>
    <item>
      <title><![CDATA[What Persistable<T> Taught Me About Hibernate's Entity State Detection]]></title>
      <link>https://tulsi-dev.vercel.app/posts/persistable-hibernate-batching</link>
      <guid isPermaLink="true">https://tulsi-dev.vercel.app/posts/persistable-hibernate-batching</guid>
      <pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Why Hibernate issued a SELECT before every INSERT on a composite-key entity, and what fixing it unlocked.]]></description>
      <category>Java</category>
      <category>Hibernate</category>
      <category>Performance</category>
    </item>
    <item>
      <title><![CDATA[Designing Data Models to Minimize LLM Inference Cost]]></title>
      <link>https://tulsi-dev.vercel.app/posts/llm-cost-aware-data-modeling</link>
      <guid isPermaLink="true">https://tulsi-dev.vercel.app/posts/llm-cost-aware-data-modeling</guid>
      <pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Some early lessons from structuring data so an AI-assisted product calls the model less often, not just cheaper.]]></description>
      <category>AI</category>
      <category>Data Modeling</category>
      <category>Product</category>
    </item>
    <item>
      <title><![CDATA[Implementing Raft From the Paper: Notes on Leader Election]]></title>
      <link>https://tulsi-dev.vercel.app/posts/implementing-raft-leader-election</link>
      <guid isPermaLink="true">https://tulsi-dev.vercel.app/posts/implementing-raft-leader-election</guid>
      <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Starting a from-scratch Raft implementation to actually understand consensus, not just read about it. First stop: leader election.]]></description>
      <category>Distributed Systems</category>
      <category>Raft</category>
      <category>Self-Study</category>
    </item>
  </channel>
</rss>