<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated at build time from data/blogPosts.ts. Do not edit by hand. -->
<rss version="2.0"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Uttam Thapa — Engineering Blog</title>
    <link>https://www.uttamthapa.com/blog</link>
    <atom:link href="https://www.uttamthapa.com/rss.xml" rel="self" type="application/rss+xml"/>
    <description>Uttam Thapa is a full-stack and AI developer based in Mumbai, India, and the creator of SellerZonee, a SaaS platform for Instagram sellers that he designed, built and maintains. He builds production web applications with React, TypeScript, Node.js and MongoDB, and integrates machine learning into real products.</description>
    <language>en</language>
    <lastBuildDate>Sun, 02 Aug 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>Building Velvet Loop: A Production-Ready Full Stack Ecommerce Platform</title>
      <link>https://www.uttamthapa.com/blog/building-velvet-loop-full-stack-ecommerce-platform</link>
      <guid isPermaLink="true">https://www.uttamthapa.com/blog/building-velvet-loop-full-stack-ecommerce-platform</guid>
      <pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate>
      <description>A deep dive into the architecture, challenges, payment integration, deployment process, and lessons learned while building Velvet Loop.</description>
      <dc:creator>Uttam Thapa</dc:creator>
      <category>React</category>
      <category>Node.js</category>
      <category>Prisma</category>
      <category>PostgreSQL</category>
      <category>Razorpay</category>
      <category>Ecommerce</category>
      <category>Case Study</category>
    </item>
    <item>
      <title>Building Golden Leaf Knots: From Instagram Store to a Full Ecommerce Platform</title>
      <link>https://www.uttamthapa.com/blog/building-golden-leaf-knots-ecommerce-platform</link>
      <guid isPermaLink="true">https://www.uttamthapa.com/blog/building-golden-leaf-knots-ecommerce-platform</guid>
      <pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate>
      <description>How I transformed a handmade gifting business from Instagram-based sales into a production-ready ecommerce platform.</description>
      <dc:creator>Uttam Thapa</dc:creator>
      <category>React</category>
      <category>Node.js</category>
      <category>Ecommerce</category>
      <category>Razorpay</category>
      <category>Prisma</category>
      <category>PostgreSQL</category>
    </item>
    <item>
      <title>How I Integrated Razorpay Into a Production Ecommerce Platform</title>
      <link>https://www.uttamthapa.com/blog/razorpay-integration-production-ecommerce</link>
      <guid isPermaLink="true">https://www.uttamthapa.com/blog/razorpay-integration-production-ecommerce</guid>
      <pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate>
      <description>A complete deep dive into integrating Razorpay with secure payment verification, order processing, inventory management, and production deployment.</description>
      <dc:creator>Uttam Thapa</dc:creator>
      <category>Razorpay</category>
      <category>Node.js</category>
      <category>React</category>
      <category>Prisma</category>
      <category>PostgreSQL</category>
      <category>Ecommerce</category>
    </item>
    <item>
      <title>Designing a Secure Ecommerce Checkout Flow: From Cart to Successful Order</title>
      <link>https://www.uttamthapa.com/blog/designing-secure-ecommerce-checkout-flow</link>
      <guid isPermaLink="true">https://www.uttamthapa.com/blog/designing-secure-ecommerce-checkout-flow</guid>
      <pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate>
      <description>A deep dive into building a secure checkout architecture that protects payments, inventory, and customer data.</description>
      <dc:creator>Uttam Thapa</dc:creator>
      <category>Checkout</category>
      <category>Ecommerce</category>
      <category>Razorpay</category>
      <category>Node.js</category>
      <category>React</category>
      <category>Security</category>
    </item>
    <item>
      <title>How I Prevented Duplicate Orders, Payment Race Conditions &amp; Inventory Corruption in a Production Ecommerce System</title>
      <link>https://www.uttamthapa.com/blog/preventing-duplicate-orders-payment-issues-ecommerce</link>
      <guid isPermaLink="true">https://www.uttamthapa.com/blog/preventing-duplicate-orders-payment-issues-ecommerce</guid>
      <pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate>
      <description>A deep dive into idempotency, payment verification, inventory consistency, race conditions, and duplicate order prevention in production ecommerce systems.</description>
      <dc:creator>Uttam Thapa</dc:creator>
      <category>Ecommerce</category>
      <category>Payments</category>
      <category>Razorpay</category>
      <category>Backend</category>
      <category>Prisma</category>
      <category>PostgreSQL</category>
      <category>Node.js</category>
      <category>System Design</category>
    </item>
    <item>
      <title>Building an Inventory Management System for Handmade Products</title>
      <link>https://www.uttamthapa.com/blog/building-inventory-management-system-handmade-products</link>
      <guid isPermaLink="true">https://www.uttamthapa.com/blog/building-inventory-management-system-handmade-products</guid>
      <pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate>
      <description>A deep dive into inventory tracking, stock validation, transaction safety, and overselling prevention for handmade ecommerce businesses.</description>
      <dc:creator>Uttam Thapa</dc:creator>
      <category>Inventory</category>
      <category>Ecommerce</category>
      <category>Prisma</category>
      <category>PostgreSQL</category>
      <category>Node.js</category>
      <category>System Design</category>
      <category>Handmade Products</category>
    </item>
    <item>
      <title>How I Used Cloudinary for Ecommerce Image Management</title>
      <link>https://www.uttamthapa.com/blog/cloudinary-image-management-ecommerce</link>
      <guid isPermaLink="true">https://www.uttamthapa.com/blog/cloudinary-image-management-ecommerce</guid>
      <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
      <description>A deep dive into building a scalable ecommerce image management system using Cloudinary, Multer, PostgreSQL, and Node.js.</description>
      <dc:creator>Uttam Thapa</dc:creator>
      <category>Cloudinary</category>
      <category>Image Management</category>
      <category>Ecommerce</category>
      <category>Node.js</category>
      <category>Express</category>
      <category>PostgreSQL</category>
      <category>Media Storage</category>
    </item>
    <item>
      <title>Building Automated Email Notifications Using Nodemailer</title>
      <link>https://www.uttamthapa.com/blog/automated-email-notifications-nodemailer</link>
      <guid isPermaLink="true">https://www.uttamthapa.com/blog/automated-email-notifications-nodemailer</guid>
      <pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate>
      <description>A deep dive into building automated customer and admin email workflows using Nodemailer, Gmail SMTP, and production-ready ecommerce architecture.</description>
      <dc:creator>Uttam Thapa</dc:creator>
      <category>Nodemailer</category>
      <category>Email</category>
      <category>SMTP</category>
      <category>Gmail</category>
      <category>Ecommerce</category>
      <category>Node.js</category>
      <category>Automation</category>
    </item>
    <item>
      <title>System Design Basics for Production Applications</title>
      <link>https://www.uttamthapa.com/blog/system-design-basics-production-applications</link>
      <guid isPermaLink="true">https://www.uttamthapa.com/blog/system-design-basics-production-applications</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>System design is not just an interview topic. These are the decisions that are expensive to reverse once an application is live.</description>
      <dc:creator>Uttam Thapa</dc:creator>
      <category>System Design</category>
      <category>Architecture</category>
      <category>Node.js</category>
      <category>Backend</category>
      <category>Scalability</category>
    </item>
    <item>
      <title>PostgreSQL Indexing and Query Performance</title>
      <link>https://www.uttamthapa.com/blog/postgresql-indexing-query-performance</link>
      <guid isPermaLink="true">https://www.uttamthapa.com/blog/postgresql-indexing-query-performance</guid>
      <pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate>
      <description>Most applications get slow because of a handful of queries doing far more work than they need to. Here is how to find and fix them.</description>
      <dc:creator>Uttam Thapa</dc:creator>
      <category>PostgreSQL</category>
      <category>Database</category>
      <category>Performance</category>
      <category>Prisma</category>
      <category>Indexing</category>
      <category>SQL</category>
    </item>
    <item>
      <title>Improving Core Web Vitals in React Applications</title>
      <link>https://www.uttamthapa.com/blog/core-web-vitals-react-applications</link>
      <guid isPermaLink="true">https://www.uttamthapa.com/blog/core-web-vitals-react-applications</guid>
      <pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate>
      <description>The obvious optimisations rarely matter. Most performance wins come from removing something that runs continuously.</description>
      <dc:creator>Uttam Thapa</dc:creator>
      <category>Performance</category>
      <category>Core Web Vitals</category>
      <category>React</category>
      <category>CSS</category>
      <category>Web Performance</category>
    </item>
    <item>
      <title>Security Practices Every Web Application Needs</title>
      <link>https://www.uttamthapa.com/blog/web-application-security-practices</link>
      <guid isPermaLink="true">https://www.uttamthapa.com/blog/web-application-security-practices</guid>
      <pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate>
      <description>Most vulnerabilities affecting small applications are well understood and preventable with a handful of consistent defaults.</description>
      <dc:creator>Uttam Thapa</dc:creator>
      <category>Security</category>
      <category>Node.js</category>
      <category>Express</category>
      <category>Validation</category>
      <category>XSS</category>
      <category>Webhooks</category>
    </item>
    <item>
      <title>Deploying a Full-Stack App: Vercel, Render and Supabase</title>
      <link>https://www.uttamthapa.com/blog/deploying-full-stack-applications</link>
      <guid isPermaLink="true">https://www.uttamthapa.com/blog/deploying-full-stack-applications</guid>
      <pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate>
      <description>Deployment is where a project stops being code and starts being a system. Most surprises are configuration problems in disguise.</description>
      <dc:creator>Uttam Thapa</dc:creator>
      <category>Deployment</category>
      <category>Vercel</category>
      <category>Render</category>
      <category>Supabase</category>
      <category>DevOps</category>
      <category>CI/CD</category>
    </item>
  </channel>
</rss>
