<?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>Efazul Karim's Blog</title>
    <description>Thoughts, ideas, and developments in technology and programming</description>
    <link>https://efazulkarim.me/blog</link>
    <atom:link href="https://efazulkarim.me/rss.xml" rel="self" type="application/rss+xml"/>
    <language>en-us</language>
    <lastBuildDate>Wed, 03 Jun 2026 17:51:34 GMT</lastBuildDate>
    
    <item>
      <title><![CDATA[Deploying a FastAPI Backend on DigitalOcean with Dokploy and Docker]]></title>
      <description><![CDATA[A practical production deployment setup for FastAPI using Docker and Dokploy on a DigitalOcean VPS, with PostgreSQL, HTTPS, and operational hardening.]]></description>
      <link>https://efazulkarim.me/blog/deploy-fastapi-digitalocean-dokploy</link>
      <guid isPermaLink="true">https://efazulkarim.me/blog/deploy-fastapi-digitalocean-dokploy</guid>
      <pubDate>Wed, 06 May 2026 00:00:00 GMT</pubDate>
      <author>Kazi Efazul Karim</author>
      <category><![CDATA[fastapi]]></category>
      <category><![CDATA[docker]]></category>
      <category><![CDATA[dokploy]]></category>
      <category><![CDATA[digitalocean]]></category>
      <category><![CDATA[postgresql]]></category>
      <category><![CDATA[deployment]]></category>
      <category><![CDATA[devops]]></category>
    </item>

    <item>
      <title><![CDATA[The 9 Prompts That Turn a Stack of Papers Into a Real Literature Map]]></title>
      <description><![CDATA[A practical prompt system for moving from paper summaries to a structural map of any research field.]]></description>
      <link>https://efazulkarim.me/blog/9-prompts-real-literature-map</link>
      <guid isPermaLink="true">https://efazulkarim.me/blog/9-prompts-real-literature-map</guid>
      <pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate>
      <author>Kazi Efazul Karim</author>
      <category><![CDATA[research]]></category>
      <category><![CDATA[literature-review]]></category>
      <category><![CDATA[prompts]]></category>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[knowledge-management]]></category>
    </item>

    <item>
      <title><![CDATA[Complete Guide: Deploying an Express.js App with PostgreSQL on a VPS]]></title>
      <description><![CDATA[A practical end-to-end deployment guide for Express.js + PostgreSQL using PM2, Nginx, and Git-based CI/CD, including Prisma P3006 troubleshooting.]]></description>
      <link>https://efazulkarim.me/blog/deploy-expressjs-postgresql-on-vps</link>
      <guid isPermaLink="true">https://efazulkarim.me/blog/deploy-expressjs-postgresql-on-vps</guid>
      <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
      <author>Kazi Efazul Karim</author>
      <category><![CDATA[expressjs]]></category>
      <category><![CDATA[postgresql]]></category>
      <category><![CDATA[prisma]]></category>
      <category><![CDATA[vps]]></category>
      <category><![CDATA[deployment]]></category>
      <category><![CDATA[pm2]]></category>
      <category><![CDATA[nginx]]></category>
      <category><![CDATA[devops]]></category>
    </item>

    <item>
      <title><![CDATA[Beyond the Fold: Anatomy of a High-Conversion Landing Page]]></title>
      <description><![CDATA[An 8-step conversion framework for developers: from intent-driven hero sections to trust-focused footers that increase landing page performance.]]></description>
      <link>https://efazulkarim.me/blog/beyond-the-fold-anatomy-of-a-high-conversion-landing-page</link>
      <guid isPermaLink="true">https://efazulkarim.me/blog/beyond-the-fold-anatomy-of-a-high-conversion-landing-page</guid>
      <pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate>
      <author>Kazi Efazul Karim</author>
      <category><![CDATA[conversion]]></category>
      <category><![CDATA[landing page]]></category>
      <category><![CDATA[marketing]]></category>
      <category><![CDATA[ux]]></category>
      <category><![CDATA[web development]]></category>
    </item>

    <item>
      <title><![CDATA[Beyond the Tutorial: 5 Hard-Earned Lessons in SQL Optimization]]></title>
      <description><![CDATA[Five practical SQL optimization lessons from production systems: indexing trade-offs, query shape, sargability, correlated subqueries, and schema design balance.]]></description>
      <link>https://efazulkarim.me/blog/beyond-the-tutorial-5-hard-earned-lessons-in-sql-optimization</link>
      <guid isPermaLink="true">https://efazulkarim.me/blog/beyond-the-tutorial-5-hard-earned-lessons-in-sql-optimization</guid>
      <pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate>
      <author>Kazi Efazul Karim</author>
      <category><![CDATA[sql]]></category>
      <category><![CDATA[performance]]></category>
      <category><![CDATA[databases]]></category>
      <category><![CDATA[backend]]></category>
      <category><![CDATA[scalability]]></category>
    </item>

    <item>
      <title><![CDATA[Decoding System Design: Load Balancer vs. Reverse Proxy vs. API Gateway]]></title>
      <description><![CDATA[Understand when to use a load balancer, reverse proxy, or API gateway in modern architectures. A practical breakdown with examples and decision rules.]]></description>
      <link>https://efazulkarim.me/blog/load-balancer-vs-reverse-proxy-vs-api-gateway</link>
      <guid isPermaLink="true">https://efazulkarim.me/blog/load-balancer-vs-reverse-proxy-vs-api-gateway</guid>
      <pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate>
      <author>Kazi Efazul Karim</author>
      <category><![CDATA[system design]]></category>
      <category><![CDATA[architecture]]></category>
      <category><![CDATA[load balancer]]></category>
      <category><![CDATA[reverse proxy]]></category>
      <category><![CDATA[api gateway]]></category>
      <category><![CDATA[microservices]]></category>
      <category><![CDATA[web development]]></category>
    </item>

    <item>
      <title><![CDATA[Complete Guide to Multi-Tenant Architecture]]></title>
      <description><![CDATA[A practical guide to multi-tenant architecture: models, trade-offs, tenancy resolution, security boundaries, scaling, and migration strategy.]]></description>
      <link>https://efazulkarim.me/blog/multi-tenant-architecture-complete-guide</link>
      <guid isPermaLink="true">https://efazulkarim.me/blog/multi-tenant-architecture-complete-guide</guid>
      <pubDate>Mon, 05 Jan 2026 00:00:00 GMT</pubDate>
      <author>Kazi Efazul Karim</author>
      <category><![CDATA[system design]]></category>
      <category><![CDATA[multi-tenant architecture]]></category>
      <category><![CDATA[saas]]></category>
      <category><![CDATA[database design]]></category>
      <category><![CDATA[security]]></category>
      <category><![CDATA[scalability]]></category>
    </item>

    <item>
      <title><![CDATA[Cracking the Frontend System Design Interview: Designing an Instagram Feed]]></title>
      <description><![CDATA[This article covers the best SEO meta tags setup using Next.js 15's Metadata API, along with a sitemap and robots.txt for my portfolio website.]]></description>
      <link>https://efazulkarim.me/blog/instagram-feed</link>
      <guid isPermaLink="true">https://efazulkarim.me/blog/instagram-feed</guid>
      <pubDate>Thu, 25 Dec 2025 00:00:00 GMT</pubDate>
      <author>Kazi Efazul Karim</author>
      <category><![CDATA[frontend]]></category>
      <category><![CDATA[system design]]></category>
      <category><![CDATA[interview]]></category>
      <category><![CDATA[instagram]]></category>
    </item>

    <item>
      <title><![CDATA[How to Learn Coding in the AI Era (Without Losing Your Thinking Skills)]]></title>
      <description><![CDATA[A practical roadmap to use AI for coding while still building deep problem-solving ability, debugging skills, and long-term career strength.]]></description>
      <link>https://efazulkarim.me/blog/how-to-learn-coding-in-the-ai-era</link>
      <guid isPermaLink="true">https://efazulkarim.me/blog/how-to-learn-coding-in-the-ai-era</guid>
      <pubDate>Mon, 01 Dec 2025 00:00:00 GMT</pubDate>
      <author>Kazi Efazul Karim</author>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[learning]]></category>
      <category><![CDATA[career]]></category>
      <category><![CDATA[software-engineering]]></category>
      <category><![CDATA[productivity]]></category>
    </item>

    <item>
      <title><![CDATA[Building a Production-Ready Autocomplete Search Component in React]]></title>
      <description><![CDATA[Learn how to build a high-performance autocomplete search input from scratch using React hooks, TypeScript, debouncing, keyboard navigation, and Tailwind CSS.]]></description>
      <link>https://efazulkarim.me/blog/autocomplete-search</link>
      <guid isPermaLink="true">https://efazulkarim.me/blog/autocomplete-search</guid>
      <pubDate>Tue, 20 May 2025 00:00:00 GMT</pubDate>
      <author>Kazi Efazul Karim</author>
      <category><![CDATA[React]]></category>
      <category><![CDATA[TypeScript]]></category>
      <category><![CDATA[Tailwind CSS]]></category>
      <category><![CDATA[Frontend Component]]></category>
      <category><![CDATA[UX/UI]]></category>
      <category><![CDATA[Hooks]]></category>
    </item>

    <item>
      <title><![CDATA[Next.js SEO for a Portfolio: A Practical Setup That Actually Works]]></title>
      <description><![CDATA[A practical walkthrough of the SEO setup I use in my Next.js portfolio: Metadata API, Open Graph, Twitter cards, dynamic sitemap, robots rules, and JSON-LD.]]></description>
      <link>https://efazulkarim.me/blog/nextjs-seo</link>
      <guid isPermaLink="true">https://efazulkarim.me/blog/nextjs-seo</guid>
      <pubDate>Sun, 09 Mar 2025 00:00:00 GMT</pubDate>
      <author>Kazi Efazul Karim</author>
      <category><![CDATA[nextjs]]></category>
      <category><![CDATA[seo]]></category>
      <category><![CDATA[web development]]></category>
      <category><![CDATA[portfolio]]></category>
      <category><![CDATA[metadata]]></category>
    </item>

    <item>
      <title><![CDATA[Why I Built My Personal Website (And Why It Keeps Evolving)]]></title>
      <description><![CDATA[The real reasons I built a personal website: credibility, ownership, experimentation, and long-term career compounding.]]></description>
      <link>https://efazulkarim.me/blog/personal-website</link>
      <guid isPermaLink="true">https://efazulkarim.me/blog/personal-website</guid>
      <pubDate>Thu, 06 Mar 2025 00:00:00 GMT</pubDate>
      <author>Kazi Efazul Karim</author>
      <category><![CDATA[personal website]]></category>
      <category><![CDATA[portfolio]]></category>
      <category><![CDATA[career]]></category>
      <category><![CDATA[web development]]></category>
    </item>

    <item>
      <title><![CDATA[Scaling Frontend at Tencent: My First Year as a Frontend Engineer]]></title>
      <description><![CDATA[A deep dive into navigating micro-frontend architectures, cross-cultural communication, and performance optimization on enterprise-scale applications.]]></description>
      <link>https://efazulkarim.me/blog/beyondsoft</link>
      <guid isPermaLink="true">https://efazulkarim.me/blog/beyondsoft</guid>
      <pubDate>Tue, 04 Jun 2024 00:00:00 GMT</pubDate>
      <author>Kelvin You</author>
      <category><![CDATA[System Architecture]]></category>
      <category><![CDATA[React]]></category>
      <category><![CDATA[Performance Optimization]]></category>
      <category><![CDATA[Soft Skills]]></category>
    </item>
  </channel>
</rss>