<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Rishi Agarwal · Writing</title>
    <description>Lead software engineer. I design systems where the architecture follows the business model — not the other way around.</description>
    <link>https://rishiagarwal.me/</link>
    <language>en-us</language>
    <atom:link href="https://rishiagarwal.me/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Audit trails are product features</title>
      <link>https://rishiagarwal.me/writing/audit-trails-are-product-features/</link>
      <guid isPermaLink="true">https://rishiagarwal.me/writing/audit-trails-are-product-features/</guid>
      <description>Why compliance-shaped reporting belongs in the domain model — not as a CSV export bolted on after the fact.</description>
      <pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate>
      <category>business</category>
    </item>
    <item>
      <title>Peak-hour trading UI: reliability as a product requirement</title>
      <link>https://rishiagarwal.me/writing/peak-hour-trading-ui/</link>
      <guid isPermaLink="true">https://rishiagarwal.me/writing/peak-hour-trading-ui/</guid>
      <description>How frontend architecture for a market-hours product has to treat latency, failure modes, and observability as user-facing concerns.</description>
      <pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate>
      <category>full-stack</category>
    </item>
    <item>
      <title>Building a modular KYC platform without freezing product teams</title>
      <link>https://rishiagarwal.me/writing/modular-kyc-platform/</link>
      <guid isPermaLink="true">https://rishiagarwal.me/writing/modular-kyc-platform/</guid>
      <description>Shared verification rails that multiple products can adopt — and the boundaries that keep a platform from becoming a bottleneck.</description>
      <pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate>
      <category>full-stack</category>
    </item>
    <item>
      <title>SSR where it earns its keep</title>
      <link>https://rishiagarwal.me/writing/ssr-where-it-earns-its-keep/</link>
      <guid isPermaLink="true">https://rishiagarwal.me/writing/ssr-where-it-earns-its-keep/</guid>
      <description>A custom React SSR framework, a 30–35% first-load win, and why we migrated routes selectively instead of boiling the ocean.</description>
      <pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate>
      <category>full-stack</category>
    </item>
    <item>
      <title>When the business model should reshape the schema</title>
      <link>https://rishiagarwal.me/writing/business-model-shapes-schema/</link>
      <guid isPermaLink="true">https://rishiagarwal.me/writing/business-model-shapes-schema/</guid>
      <description>Lending, trading, and compliance products fail differently — your data model has to reflect the failure modes you actually sell against.</description>
      <pubDate>Sat, 14 Feb 2026 00:00:00 GMT</pubDate>
      <category>business</category>
    </item>
    <item>
      <title>Designing idempotent money-adjacent APIs</title>
      <link>https://rishiagarwal.me/writing/idempotent-money-adjacent-apis/</link>
      <guid isPermaLink="true">https://rishiagarwal.me/writing/idempotent-money-adjacent-apis/</guid>
      <description>A long-form walkthrough of idempotency keys, retry semantics, and the business callout that makes the pattern non-negotiable in fintech.</description>
      <pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate>
      <category>full-stack</category>
    </item>
  </channel>
</rss>