<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Shrey Saroch</title>
    <link>https://shreysaroch.dev</link>
    <description>Principal Engineer writing about frontend, JavaScript, and the craft of building for the web.</description>
    <item>
      <title>useMemo is not free: a field guide to React re-renders</title>
      <link>https://shreysaroch.dev/blog/usememo-is-not-free-a-field-guide-to-react-re-renders</link>
      <guid>https://shreysaroch.dev/blog/usememo-is-not-free-a-field-guide-to-react-re-renders</guid>
      <description>What actually triggers a re-render, when memoization helps versus hurts, and how to measure instead of guess — from a large-app perspective.</description>
      <pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Debounce &amp; throttle: build them, don't import them</title>
      <link>https://shreysaroch.dev/blog/debounce-and-throttle-build-them-dont-import-them</link>
      <guid>https://shreysaroch.dev/blog/debounce-and-throttle-build-them-dont-import-them</guid>
      <description>Implement both from scratch, understand the precise difference, and know which one a given problem actually needs.</description>
      <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The JavaScript event loop, finally explained</title>
      <link>https://shreysaroch.dev/blog/the-javascript-event-loop-finally-explained</link>
      <guid>https://shreysaroch.dev/blog/the-javascript-event-loop-finally-explained</guid>
      <description>Call stack, task queue, and microtasks — why setTimeout(…, 0) isn't instant and how Promises jump the line, with runnable examples.</description>
      <pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>I built a playable terminal with almost no JavaScript</title>
      <link>https://shreysaroch.dev/blog/building-a-terminal-with-almost-no-javascript</link>
      <guid>https://shreysaroch.dev/blog/building-a-terminal-with-almost-no-javascript</guid>
      <description>How the homepage of this site works — CSS-driven terminal chrome, a tiny pure-function command parser, and keeping it accessible.</description>
      <pubDate>Mon, 08 Jun 2026 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>