<?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>Saumya Tiwari - Blog</title>
    <link>https://www.saumyat.com</link>
    <description>Technical blog posts about building scalable systems, performance optimization, and engineering leadership by Saumya Tiwari, Senior Fullstack Engineer.</description>
    <language>en-us</language>
    <lastBuildDate>Fri, 02 Oct 2026 14:26:20 GMT</lastBuildDate>
    <atom:link href="https://www.saumyat.com/feed.xml" rel="self" type="application/rss+xml"/>
    <image>
      <url>https://www.saumyat.com/pfp.jpeg</url>
      <title>Saumya Tiwari - Blog</title>
      <link>https://www.saumyat.com</link>
    </image>
    
    <item>
      <title><![CDATA[Context Engineering: The Thing That Actually Makes AI Agents Work]]></title>
      <link>https://www.saumyat.com/blog/context-engineering-ai-agents-memory</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/context-engineering-ai-agents-memory</guid>
      <description><![CDATA[Everyone's talking about which model is best. The real differentiator is memory - what the agent remembers, how it remembers, and what happens when it forgets.]]></description>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>ai</category>
      <category>agents</category>
      <category>context-engineering</category>
      <category>memory</category>
      <category>knowledge-management</category>
    </item>
    <item>
      <title><![CDATA[Prompt Caching Is Everything in Claude Code]]></title>
      <link>https://www.saumyat.com/blog/prompt-caching-claude-code</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/prompt-caching-claude-code</guid>
      <description><![CDATA[I spent weeks wondering why some Claude Code sessions felt fast and cheap while others burned through my usage. Turns out, prompt caching is the invisible infrastructure that makes the whole thing viable.]]></description>
      <pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>ai</category>
      <category>claude-code</category>
      <category>performance</category>
      <category>caching</category>
      <category>engineering</category>
    </item>
    <item>
      <title><![CDATA[Building AI Features Into an Existing Product (Without Rewriting Everything)]]></title>
      <link>https://www.saumyat.com/blog/building-ai-features-existing-product</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/building-ai-features-existing-product</guid>
      <description><![CDATA[After 6 years of fullstack engineering and 8 AI projects in 6 months, here's how I'd actually introduce AI into a production product. Spoiler: you don't need a ground-up rewrite.]]></description>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>ai</category>
      <category>engineering</category>
      <category>architecture</category>
      <category>product</category>
      <category>integration</category>
    </item>
    <item>
      <title><![CDATA[RAG in Production: What the Tutorials Don't Tell You]]></title>
      <link>https://www.saumyat.com/blog/rag-in-production</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/rag-in-production</guid>
      <description><![CDATA[I built a RAG chatbot over personal notebooks using pgvector and OpenAI embeddings. It worked great in demos. Then I looked closer at what it was actually doing.]]></description>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>ai</category>
      <category>rag</category>
      <category>pgvector</category>
      <category>embeddings</category>
      <category>production</category>
    </item>
    <item>
      <title><![CDATA[Mesh: What Happens When AI Is a Participant, Not a Tool]]></title>
      <link>https://www.saumyat.com/blog/ai-native-group-chat</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/ai-native-group-chat</guid>
      <description><![CDATA[I built a group chat where the AI doesn't wait for slash commands. It sits in the conversation, decides when to speak, and pulls out decisions and tasks automatically.]]></description>
      <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>ai</category>
      <category>chat</category>
      <category>agents</category>
      <category>product</category>
    </item>
    <item>
      <title><![CDATA[The December 2025 AI Shift: What Changed and Why It Matters]]></title>
      <link>https://www.saumyat.com/blog/the-december-2025-ai-shift-what-changed-why-it-matters</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/the-december-2025-ai-shift-what-changed-why-it-matters</guid>
      <description><![CDATA[Something changed in late 2025. Here's what actually happened, what it means for engineers and companies, and my honest take on where this is heading.]]></description>
      <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>ai</category>
      <category>engineering</category>
      <category>careers</category>
      <category>software</category>
    </item>
    <item>
      <title><![CDATA[How OpenClaw Actually Works: Sessions, Memory, Browser Automation and Tokens]]></title>
      <link>https://www.saumyat.com/blog/how-openclaw-works</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/how-openclaw-works</guid>
      <description><![CDATA[I've been running OpenClaw for weeks and kept hitting token limits without understanding why. So I sat down and dug into every layer: sessions, memory, browser automation, costs. Here's what I found.]]></description>
      <pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>ai</category>
      <category>agents</category>
      <category>openclaw</category>
      <category>architecture</category>
    </item>
    <item>
      <title><![CDATA[Where AI Agents Are Actually Heading (2026 and Beyond)]]></title>
      <link>https://www.saumyat.com/blog/ai-agents-predictions-2026</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/ai-agents-predictions-2026</guid>
      <description><![CDATA[Everyone's talking about AI agents. Most predictions are wrong. Here's what I think will actually happen, based on patterns I'm seeing now.]]></description>
      <pubDate>Tue, 10 Feb 2026 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>ai</category>
      <category>agents</category>
      <category>predictions</category>
      <category>future</category>
    </item>
    <item>
      <title><![CDATA[The AI Coding Revolution: Claude Code, Codex, and What It Means for Us]]></title>
      <link>https://www.saumyat.com/blog/ai-coding-revolution-claude-codex</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/ai-coding-revolution-claude-codex</guid>
      <description><![CDATA[I've been coding with AI assistants for months now. Here's what actually changed, what's overhyped, and why I'm more optimistic about engineering than ever.]]></description>
      <pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>ai</category>
      <category>engineering</category>
      <category>future</category>
      <category>tools</category>
    </item>
    <item>
      <title><![CDATA[Multi-Agent AI: Why One Assistant Isn't Enough]]></title>
      <link>https://www.saumyat.com/blog/multi-agent-future-ai-orchestration</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/multi-agent-future-ai-orchestration</guid>
      <description><![CDATA[The future of AI isn't one super-intelligent assistant. It's specialized agents working together. Here's what I've learned running a personal multi-agent system.]]></description>
      <pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>ai</category>
      <category>agents</category>
      <category>orchestration</category>
      <category>future</category>
    </item>
    <item>
      <title><![CDATA[What 6 Years at One Startup Taught Me That Job-Hopping Never Could]]></title>
      <link>https://www.saumyat.com/blog/six-years-at-a-startup</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/six-years-at-a-startup</guid>
      <description><![CDATA[In an industry where 2 years feels like a lifetime, I stayed at VdoCipher for 6. Here's why that was the best career decision I ever made, and what I learned that you can only learn by staying.]]></description>
      <pubDate>Sat, 20 Sep 2025 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>career</category>
      <category>startups</category>
      <category>growth</category>
      <category>lessons</category>
    </item>
    <item>
      <title><![CDATA[Atomic Design in Practice: Scaling a Component Library to 300+ Components]]></title>
      <link>https://www.saumyat.com/blog/atomic-design-component-library</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/atomic-design-component-library</guid>
      <description><![CDATA[Everyone loves Atomic Design in theory. In practice? It's messy. Here's how we scaled to 300+ React components using Atomic Design principles, and why we had to break some rules along the way.]]></description>
      <pubDate>Tue, 05 Aug 2025 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>design-systems</category>
      <category>react</category>
      <category>components</category>
      <category>atomic-design</category>
    </item>
    <item>
      <title><![CDATA[Feature Flags at Scale: How We Ship Code Without Breaking Production]]></title>
      <link>https://www.saumyat.com/blog/feature-flags-at-scale</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/feature-flags-at-scale</guid>
      <description><![CDATA[We deploy 20 times a day to production. Our secret? Feature flags that let us ship incomplete features, test in production, and roll back instantly. Here's how we built a system that actually works.]]></description>
      <pubDate>Wed, 30 Jul 2025 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>feature-flags</category>
      <category>deployment</category>
      <category>devops</category>
      <category>testing</category>
    </item>
    <item>
      <title><![CDATA[Managing State in React: Life After Redux (and Why We Avoid Context Too)]]></title>
      <link>https://www.saumyat.com/blog/managing-state-react-without-redux</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/managing-state-react-without-redux</guid>
      <description><![CDATA[After years of Redux boilerplate and Context re-render nightmares, we found a better way. Here's how we manage state in a 300+ component app using Zustand, nuqs, and good old local state.]]></description>
      <pubDate>Wed, 16 Jul 2025 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>react</category>
      <category>state-management</category>
      <category>zustand</category>
      <category>performance</category>
    </item>
    <item>
      <title><![CDATA[My Framework for Technical Decisions (That Actually Ship)]]></title>
      <link>https://www.saumyat.com/blog/how-i-make-technical-decisions</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/how-i-make-technical-decisions</guid>
      <description><![CDATA[Most technical debates are bikeshedding. Here's how I cut through the noise and make decisions that balance perfectionism with pragmatism.]]></description>
      <pubDate>Thu, 10 Jul 2025 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>engineering</category>
      <category>leadership</category>
      <category>decision-making</category>
      <category>architecture</category>
    </item>
    <item>
      <title><![CDATA[AWS Lambda + FFMPEG: Video Processing Without the Server Bills]]></title>
      <link>https://www.saumyat.com/blog/aws-lambda-ffmpeg-video-processing</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/aws-lambda-ffmpeg-video-processing</guid>
      <description><![CDATA[Running FFMPEG on Lambda sounds insane until you see the AWS bill. Here's how we process thousands of video thumbnails daily for under $50/month, and why the 15-minute limit isn't as scary as you think.]]></description>
      <pubDate>Wed, 02 Jul 2025 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>aws</category>
      <category>lambda</category>
      <category>ffmpeg</category>
      <category>serverless</category>
      <category>video</category>
    </item>
    <item>
      <title><![CDATA[TypeScript Migration: The Real Cost-Benefit Analysis Nobody Talks About]]></title>
      <link>https://www.saumyat.com/blog/typescript-migration-cost-benefit</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/typescript-migration-cost-benefit</guid>
      <description><![CDATA[After 8 years bouncing between JavaScript and TypeScript, I've seen teams waste months on migrations that shouldn't have happened. Here's the honest take on when TypeScript is worth it and when it's just expensive busy work.]]></description>
      <pubDate>Sun, 22 Jun 2025 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>typescript</category>
      <category>javascript</category>
      <category>migration</category>
      <category>dx</category>
    </item>
    <item>
      <title><![CDATA[Terraform: From 'Infrastructure as Code' to 'Infrastructure as Actual Code']]></title>
      <link>https://www.saumyat.com/blog/terraform-infrastructure-as-code</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/terraform-infrastructure-as-code</guid>
      <description><![CDATA[Everyone talks about Terraform like it's just YAML with extra steps. After using it to migrate 100TB+ from AWS to GCP, I can tell you - production Terraform is a whole different beast. Here's what the tutorials don't teach you.]]></description>
      <pubDate>Sun, 08 Jun 2025 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>terraform</category>
      <category>infrastructure</category>
      <category>aws</category>
      <category>gcp</category>
      <category>devops</category>
    </item>
    <item>
      <title><![CDATA[The MongoDB to PostgreSQL Migration Nobody Warns You About]]></title>
      <link>https://www.saumyat.com/blog/mongodb-to-postgresql-migration</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/mongodb-to-postgresql-migration</guid>
      <description><![CDATA[We spent 6 months migrating from MongoDB to PostgreSQL. The technical part was easy. The data modeling paradigm shift? That nearly broke us. Here's what actually happens when you switch from NoSQL to relational.]]></description>
      <pubDate>Sun, 01 Jun 2025 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>database</category>
      <category>postgresql</category>
      <category>mongodb</category>
      <category>migration</category>
    </item>
    <item>
      <title><![CDATA[Building Real-Time Video Encoding Progress with Server-Sent Events]]></title>
      <link>https://www.saumyat.com/blog/real-time-video-encoding-sse</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/real-time-video-encoding-sse</guid>
      <description><![CDATA[Spent months building this system that reduced overhead by 80%. Here's how we replaced our polling nightmare with an elegant Server-Sent Events solution for real-time video encoding updates.]]></description>
      <pubDate>Tue, 20 May 2025 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>backend</category>
      <category>real-time</category>
      <category>sse</category>
      <category>performance</category>
      <category>video</category>
    </item>
    <item>
      <title><![CDATA[How We Cut Search Latency by 85% Using OpenSearch]]></title>
      <link>https://www.saumyat.com/blog/opensearch-search-latency</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/opensearch-search-latency</guid>
      <description><![CDATA[The thing that kept me up at night was our PostgreSQL CPU hitting 80%. Here's how we built a distributed search system that reduced latency from 2-3 seconds to 200ms while serving millions of queries daily.]]></description>
      <pubDate>Thu, 15 May 2025 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>infrastructure</category>
      <category>performance</category>
      <category>opensearch</category>
      <category>postgresql</category>
    </item>
    <item>
      <title><![CDATA[From 2-Minute Builds to 10 Seconds: Our Webpack to Vite Migration]]></title>
      <link>https://www.saumyat.com/blog/webpack-to-vite-migration</link>
      <guid isPermaLink="true">https://www.saumyat.com/blog/webpack-to-vite-migration</guid>
      <description><![CDATA[Got to work on this really cool migration that transformed our dev workflow. Here's how we moved our entire dashboard from Webpack to Vite, reducing build times by 90% and making our developers actually enjoy working on the frontend again.]]></description>
      <pubDate>Thu, 10 Apr 2025 00:00:00 GMT</pubDate>
      <author>saumyatiwari.29@gmail.com (Saumya Tiwari)</author>
      <category>frontend</category>
      <category>performance</category>
      <category>vite</category>
      <category>webpack</category>
      <category>dx</category>
    </item>
  </channel>
</rss>