<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Neeraj Kumar — writing</title><description>Full-stack engineer, 5.5 years. I ship features end to end — React and Next.js on the front, Node.js and TypeScript services and event pipelines behind them.</description><link>https://neerajkumar.me/</link><item><title>Shipping an Astro site to Cloudflare: the parts tutorials skip</title><link>https://neerajkumar.me/writing/astro-cloudflare-gotchas/</link><guid isPermaLink="true">https://neerajkumar.me/writing/astro-cloudflare-gotchas/</guid><description>Deploying a static Astro site to Cloudflare is easy until it isn&apos;t. The canonical URLs that point at redirects, the wrangler config nobody mentions, and what it actually costs.</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Reading a file you can&apos;t fit in memory</title><link>https://neerajkumar.me/writing/files-too-big-for-memory/</link><guid isPermaLink="true">https://neerajkumar.me/writing/files-too-big-for-memory/</guid><description>Array.map on a parsed upload is fine until the upload gets big. What changes when you treat a file as a stream instead of a value.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate></item><item><title>What rebuilding Express taught me about Express</title><link>https://neerajkumar.me/writing/express-from-scratch/</link><guid isPermaLink="true">https://neerajkumar.me/writing/express-from-scratch/</guid><description>Writing a minimal Node framework from scratch — routing, middleware chaining, request handling — and what stops being magic afterwards.</description><pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate></item></channel></rss>