<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
  <title>Aman Tiwari</title>
  <link>https://amant03.com/blog/</link>
  <description>Technical notes on React, Node.js, Kafka, APIs, and the web platform.</description>
  <language>en</language>
  <item>
    <title>How to scope a coding-agent task so the diff stays reviewable</title>
    <link>https://amant03.com/blog/scope-a-coding-agent-task/</link>
    <guid isPermaLink="true">https://amant03.com/blog/scope-a-coding-agent-task/</guid>
    <pubDate>Fri, 23 Oct 2026 18:30:00 GMT</pubDate>
    <description>Name the files, the failing case, and the modules that are off limits. A coding agent is useful when the diff still fits in a review.</description>
  </item>
  <item>
    <title>When to split a Kafka topic</title>
    <link>https://amant03.com/blog/when-to-split-a-kafka-topic/</link>
    <guid isPermaLink="true">https://amant03.com/blog/when-to-split-a-kafka-topic/</guid>
    <pubDate>Thu, 22 Oct 2026 18:30:00 GMT</pubDate>
    <description>Put messages that differ in size, rate, or consumer on different topics. A shared partition makes the slow consumer everyone's problem.</description>
  </item>
  <item>
    <title>The JWT checks worth testing on an API</title>
    <link>https://amant03.com/blog/jwt-checks-worth-testing/</link>
    <guid isPermaLink="true">https://amant03.com/blog/jwt-checks-worth-testing/</guid>
    <pubDate>Wed, 21 Oct 2026 18:30:00 GMT</pubDate>
    <description>Verify signature, audience, and expiry, then check the row. A role is not permission to open a record.</description>
  </item>
  <item>
    <title>What a WebSocket event should carry</title>
    <link>https://amant03.com/blog/what-a-websocket-event-should-carry/</link>
    <guid isPermaLink="true">https://amant03.com/blog/what-a-websocket-event-should-carry/</guid>
    <pubDate>Tue, 20 Oct 2026 18:30:00 GMT</pubDate>
    <description>Send the fact that a record changed. Let the same HTTP handler that loaded the page load it again.</description>
  </item>
  <item>
    <title>How to keep a serverless bundle small</title>
    <link>https://amant03.com/blog/keep-a-serverless-bundle-small/</link>
    <guid isPermaLink="true">https://amant03.com/blog/keep-a-serverless-bundle-small/</guid>
    <pubDate>Mon, 19 Oct 2026 18:30:00 GMT</pubDate>
    <description>Ship the page, not the working set of the job that built it. A function that grows with the corpus will cold-start like one.</description>
  </item>
  <item>
    <title>Put Sequelize associations in one place</title>
    <link>https://amant03.com/blog/sequelize-associations-in-one-place/</link>
    <guid isPermaLink="true">https://amant03.com/blog/sequelize-associations-in-one-place/</guid>
    <pubDate>Sun, 18 Oct 2026 18:30:00 GMT</pubDate>
    <description>A model file defines a table. Relationships are declared after every model exists. Sync is not a migration.</description>
  </item>
  <item>
    <title>Sync a shared editor with operations, not snapshots</title>
    <link>https://amant03.com/blog/sync-a-shared-editor-with-operations/</link>
    <guid isPermaLink="true">https://amant03.com/blog/sync-a-shared-editor-with-operations/</guid>
    <pubDate>Sat, 17 Oct 2026 18:30:00 GMT</pubDate>
    <description>Two people typing into full-buffer snapshots will overwrite each other. Sequence the edits, and keep the call on its own clock.</description>
  </item>
  <item>
    <title>Give each React screen its own fetch</title>
    <link>https://amant03.com/blog/a-react-screen-that-fetches-its-own-data/</link>
    <guid isPermaLink="true">https://amant03.com/blog/a-react-screen-that-fetches-its-own-data/</guid>
    <pubDate>Fri, 16 Oct 2026 18:30:00 GMT</pubDate>
    <description>A list filters records that already exist. A detail screen loads what it renders. A context cache with no owner goes stale.</description>
  </item>
  <item>
    <title>Fail CI when the API spec drifts</title>
    <link>https://amant03.com/blog/fail-ci-when-the-api-spec-drifts/</link>
    <guid isPermaLink="true">https://amant03.com/blog/fail-ci-when-the-api-spec-drifts/</guid>
    <pubDate>Thu, 15 Oct 2026 18:30:00 GMT</pubDate>
    <description>A spec that fails the build when it disagrees with the handlers is documentation. A spec in a wiki is last quarter.</description>
  </item>
  <item>
    <title>Checks to make before a REST handler ships</title>
    <link>https://amant03.com/blog/checks-before-a-rest-handler-ships/</link>
    <guid isPermaLink="true">https://amant03.com/blog/checks-before-a-rest-handler-ships/</guid>
    <pubDate>Wed, 14 Oct 2026 18:30:00 GMT</pubDate>
    <description>Validate the body, name the columns, map the real status codes, and read the row back in the test.</description>
  </item>
  <item>
    <title>What a crawlable blog post contains</title>
    <link>https://amant03.com/blog/what-a-crawlable-post-contains/</link>
    <guid isPermaLink="true">https://amant03.com/blog/what-a-crawlable-post-contains/</guid>
    <pubDate>Tue, 13 Oct 2026 18:30:00 GMT</pubDate>
    <description>One title, a date in the HTML, a canonical URL, and a page that still makes sense if the script fails to load.</description>
  </item>
</channel>
</rss>
