<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Aditya Ranjan — Blog</title>
    <link>https://iamadityaranjan.com/blogs</link>
    <description>Articles on web development, Next.js, React, and personal essays by Aditya Ranjan.</description>
    <language>en</language>
    <copyright>© 2026 Aditya Ranjan</copyright>
    <atom:link href="https://iamadityaranjan.com/rss.xml" rel="self" type="application/rss+xml" />
    <lastBuildDate>Fri, 04 Sep 2026 14:32:14 GMT</lastBuildDate>
    <image>
      <url>https://iamadityaranjan.com/logo.png</url>
      <title>Aditya Ranjan — Blog</title>
      <link>https://iamadityaranjan.com/blogs</link>
    </image>
    
    <item>
      <title><![CDATA[From a Simple CRUD URL Shortener to a Production-Grade System Handling 6,800+ Requests/Second]]></title>
      <link>https://iamadityaranjan.com/blogs/scaling-url-shortener-part-1</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/scaling-url-shortener-part-1</guid>
      <description><![CDATA[How I took an old Express + EJS project and pushed it through concurrency, caching, queues, Fastify, clustering, observability, Docker, load testing, and a modern Next.js frontend.]]></description>
      <pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate>
      <category>Tech</category>
      <category>System Design</category>
      <category>Node.js</category>
      <category>Redis</category>
      <category>MongoDB</category>
      <category>Fastify</category>
      <category>Docker</category>
    </item>

    <item>
      <title><![CDATA[MongoDB Indexing — How MongoDB Finds Your Data Faster]]></title>
      <link>https://iamadityaranjan.com/blogs/scaling-url-shortener-part-2</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/scaling-url-shortener-part-2</guid>
      <description><![CDATA[A deep dive into MongoDB indexing: COLLSCAN vs IXSCAN, B-Trees, Selectivity, Compound Indexes, and verifying queries with explain().]]></description>
      <pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate>
      <category>Tech</category>
      <category>MongoDB</category>
      <category>Database</category>
      <category>System Design</category>
      <category>Performance</category>
    </item>

    <item>
      <title><![CDATA[Your Click Counter Is Lying to You (And You Don't Know It)]]></title>
      <link>https://iamadityaranjan.com/blogs/scaling-url-shortener-part-3</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/scaling-url-shortener-part-3</guid>
      <description><![CDATA[How a simple click counter introduced me to race conditions, atomic operations, and concurrent writes — and why MongoDB's $inc operator solved it.]]></description>
      <pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate>
      <category>Tech</category>
      <category>MongoDB</category>
      <category>Database</category>
      <category>System Design</category>
      <category>Node.js</category>
    </item>

    <item>
      <title><![CDATA[I Added Redis to Make My App Faster. It Didn't Work — Until I Found the Real Problem]]></title>
      <link>https://iamadityaranjan.com/blogs/scaling-url-shortener-part-4</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/scaling-url-shortener-part-4</guid>
      <description><![CDATA[Redis was responding in fractions of a millisecond. My API was taking hundreds of milliseconds. The problem wasn't Redis.]]></description>
      <pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate>
      <category>Tech</category>
      <category>Redis</category>
      <category>Performance</category>
      <category>System Design</category>
      <category>Node.js</category>
      <category>Fastify</category>
    </item>

    <item>
      <title><![CDATA[What Happens When Your Analytics Worker Crashes?]]></title>
      <link>https://iamadityaranjan.com/blogs/scaling-url-shortener-part-5</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/scaling-url-shortener-part-5</guid>
      <description><![CDATA[Most developers design for success. Production doesn't care about your happy path. Here is how I handled worker crashes, at-least-once delivery, and idempotency.]]></description>
      <pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate>
      <category>Tech</category>
      <category>Redis</category>
      <category>Architecture</category>
      <category>System Design</category>
      <category>Node.js</category>
      <category>Queues</category>
    </item>

    <item>
      <title><![CDATA[Your Logs Are Slowing Your Server Down]]></title>
      <link>https://iamadityaranjan.com/blogs/scaling-url-shortener-part-6</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/scaling-url-shortener-part-6</guid>
      <description><![CDATA[I optimized my database. I switched frameworks. I still wasn't fast enough. Then I looked at my logs.]]></description>
      <pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate>
      <category>Tech</category>
      <category>Performance</category>
      <category>Observability</category>
      <category>Node.js</category>
      <category>Fastify</category>
      <category>Logging</category>
    </item>

    <item>
      <title><![CDATA[The Person Who Grows Our Food Doesn't Decide What It's Worth]]></title>
      <link>https://iamadityaranjan.com/blogs/the-person-who-feeds-us</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/the-person-who-feeds-us</guid>
      <description><![CDATA[At 7 AM one morning, the water pump stopped working. Standing in an open field, I started wondering: why does the person doing something so fundamental have so little control over what it's worth?]]></description>
      <pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate>
      <category>Life</category>
      <category>Perspective</category>
      <category>Society</category>
      <category>Philosophy</category>
      <category>Essay</category>
    </item>

    <item>
      <title><![CDATA[I Started Waiting for the Evening Again]]></title>
      <link>https://iamadityaranjan.com/blogs/i-started-waiting-for-the-evening-again</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/i-started-waiting-for-the-evening-again</guid>
      <description><![CDATA[How three days of playing volleyball brought back a forgotten feeling from 12th class—the quiet joy of having something good to look forward to at the end of the day.]]></description>
      <pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate>
      <category>Personal</category>
      <category>Life</category>
      <category>Mindset</category>
      <category>Reflection</category>
    </item>

    <item>
      <title><![CDATA[I Built an AI Video Summarizer. Then YouTube Bot Detection Broke It]]></title>
      <link>https://iamadityaranjan.com/blogs/youtube-bot-detection-ai-summarizer</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/youtube-bot-detection-ai-summarizer</guid>
      <description><![CDATA[Why my AI Video Summarizer worked on localhost but failed in production, 5 workarounds I tried, and lessons learned about YouTube bot detection.]]></description>
      <pubDate>Sat, 22 Aug 2026 00:00:00 GMT</pubDate>
      <category>Web Security</category>
      <category>Bot Detection</category>
      <category>YouTube</category>
      <category>AI</category>
      <category>Infrastructure</category>
      <category>Node.js</category>
    </item>

    <item>
      <title><![CDATA[I Tried Putting YouTube Inside My AI Video Summarizer. Then I Learned About Clickjacking]]></title>
      <link>https://iamadityaranjan.com/blogs/youtube-iframe-clickjacking</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/youtube-iframe-clickjacking</guid>
      <description><![CDATA[What happened when I tried embedding YouTube inside my AI Video Summarizer app using an iframe, why it failed, and what I learned about clickjacking.]]></description>
      <pubDate>Sat, 22 Aug 2026 00:00:00 GMT</pubDate>
      <category>Web Security</category>
      <category>Clickjacking</category>
      <category>Iframe</category>
      <category>AI</category>
      <category>Frontend</category>
    </item>

    <item>
      <title><![CDATA[My 8-Core CPU Was at 100%: How I Fixed My Next.js Development Setup]]></title>
      <link>https://iamadityaranjan.com/blogs/nextjs-development-cpu-optimization</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/nextjs-development-cpu-optimization</guid>
      <description><![CDATA[How I investigated high CPU and memory usage in a local Next.js and Node.js development environment, then stabilized it by tuning Nodemon, Node.js, Turbopack, and orphaned processes.]]></description>
      <pubDate>Thu, 20 Aug 2026 00:00:00 GMT</pubDate>
      <category>Next.js</category>
      <category>Node.js</category>
      <category>Performance</category>
      <category>Development Tools</category>
    </item>

    <item>
      <title><![CDATA[Direct and Indirect Earnings — Not Every Kind of Income Appears in a Bank Account]]></title>
      <link>https://iamadityaranjan.com/blogs/direct-and-indirect-earnings</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/direct-and-indirect-earnings</guid>
      <description><![CDATA[We often measure income through salary or bank balances, but taking care of family and creating value at home is indirect earning that carries equal worth.]]></description>
      <pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate>
      <category>Life</category>
      <category>Perspective</category>
      <category>Family</category>
      <category>Philosophy</category>
      <category>English</category>
    </item>

    <item>
      <title><![CDATA[My Brother — He Was Younger Than Me, But That Day He Became the Older One]]></title>
      <link>https://iamadityaranjan.com/blogs/my-brother</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/my-brother</guid>
      <description><![CDATA[Some relationships are connected by blood. And some relationships take years for us to truly understand. The story of a brother who stepped up when life got tough.]]></description>
      <pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate>
      <category>Personal</category>
      <category>Family</category>
      <category>Relationships</category>
      <category>English</category>
    </item>

    <item>
      <title><![CDATA[From Delhi to Gurugram]]></title>
      <link>https://iamadityaranjan.com/blogs/delhi-to-gurugram</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/delhi-to-gurugram</guid>
      <description><![CDATA[The journey from Delhi to Gurugram wasn't just a journey from one city to another. It was a step from college into life, learning to face unfamiliar things.]]></description>
      <pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate>
      <category>Personal</category>
      <category>Life</category>
      <category>English</category>
    </item>

    <item>
      <title><![CDATA[The Landlord and the Tenant — Everyone Has Their Own Battle]]></title>
      <link>https://iamadityaranjan.com/blogs/the-landlord-and-the-tenant</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/the-landlord-and-the-tenant</guid>
      <description><![CDATA[He had been in the city for only a few months. Going to work, coming back alone. Until he realized that everyone is fighting their own unseen battle.]]></description>
      <pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate>
      <category>Personal</category>
      <category>Mindset</category>
      <category>Life</category>
      <category>English</category>
    </item>

    <item>
      <title><![CDATA[Development and Destiny — The Story of Two Riverbanks]]></title>
      <link>https://iamadityaranjan.com/blogs/development-and-destiny</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/development-and-destiny</guid>
      <description><![CDATA[Standing on the ghats of Varanasi looking across the Ganges at an empty, undeveloped shore, I realized how a single decision can turn one bank into a bustling city and the other into a lifetime of waiting.]]></description>
      <pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate>
      <category>Personal</category>
      <category>Mindset</category>
      <category>Life</category>
      <category>Philosophy</category>
      <category>English</category>
    </item>

    <item>
      <title><![CDATA[Why I Started Blogging]]></title>
      <link>https://iamadityaranjan.com/blogs/why-i-started-blogging</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/why-i-started-blogging</guid>
      <description><![CDATA[A personal reflection on documenting my journey, overcoming the cycle of unfinished ideas, and building accountability as a developer.]]></description>
      <pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate>
      <category>Personal</category>
      <category>Mindset</category>
      <category>Growth</category>
      <category>Blogging</category>
    </item>

    <item>
      <title><![CDATA[Decoupling Portfolio Architecture for Static Speed & Zero Server Costs]]></title>
      <link>https://iamadityaranjan.com/blogs/decoupling-portfolio-static-architecture</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/decoupling-portfolio-static-architecture</guid>
      <description><![CDATA[How refactoring a complex client-server backend setup into a decoupled static Next.js site improved site load times and eliminated server maintenance overhead.]]></description>
      <pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate>
      <category>Architecture</category>
      <category>Performance</category>
      <category>Refactoring</category>
      <category>Frontend</category>
    </item>

    <item>
      <title><![CDATA[Building High-Performance Next.js 16 Applications with App Router]]></title>
      <link>https://iamadityaranjan.com/blogs/building-scalable-nextjs-apps</link>
      <guid isPermaLink="true">https://iamadityaranjan.com/blogs/building-scalable-nextjs-apps</guid>
      <description><![CDATA[A deep dive into Next.js App Router architectural patterns, Server Components, and static generation strategies for modern portfolios and production apps.]]></description>
      <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
      <category>Next.js</category>
      <category>React</category>
      <category>Web Architecture</category>
      <category>TypeScript</category>
    </item>
  </channel>
</rss>