<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mehdi Hassan Jony</title>
    <description>The latest articles on DEV Community by Mehdi Hassan Jony (@mehdijony).</description>
    <link>https://dev.to/mehdijony</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3880134%2F10d686e4-b565-47e2-9522-3399458d53b9.png</url>
      <title>DEV Community: Mehdi Hassan Jony</title>
      <link>https://dev.to/mehdijony</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mehdijony"/>
    <language>en</language>
    <item>
      <title>Most developers rely on cloud AI tools. I switched to running AI locally using Ollama.</title>
      <dc:creator>Mehdi Hassan Jony</dc:creator>
      <pubDate>Thu, 16 Apr 2026 05:07:17 +0000</pubDate>
      <link>https://dev.to/mehdijony/most-developers-rely-on-cloud-ai-tools-i-switched-to-running-ai-locally-using-ollama-3l6k</link>
      <guid>https://dev.to/mehdijony/most-developers-rely-on-cloud-ai-tools-i-switched-to-running-ai-locally-using-ollama-3l6k</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff76838fhni3ro6mnzntf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff76838fhni3ro6mnzntf.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;br&gt;
No API cost. No latency. No data exposure.&lt;/p&gt;

&lt;p&gt;I use it daily for:&lt;/p&gt;

&lt;p&gt;code generation&lt;br&gt;
debugging&lt;br&gt;
SQL queries&lt;br&gt;
documentation&lt;/p&gt;

&lt;p&gt;Full breakdown:&lt;br&gt;
&lt;a href="https://medium.com/@shoyshab/using-ollama-locally-how-it-changed-my-daily-development-workflow-9a07045dcd6c" rel="noopener noreferrer"&gt;https://medium.com/@shoyshab/using-ollama-locally-how-it-changed-my-daily-development-workflow-9a07045dcd6c&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ollama</category>
      <category>llms</category>
      <category>node</category>
    </item>
    <item>
      <title>Building a Scalable Backend Architecture with NestJS, Kafka, and PostgreSQL</title>
      <dc:creator>Mehdi Hassan Jony</dc:creator>
      <pubDate>Wed, 15 Apr 2026 09:37:03 +0000</pubDate>
      <link>https://dev.to/mehdijony/building-a-scalable-backend-architecture-with-nestjs-kafka-and-postgresql-4c20</link>
      <guid>https://dev.to/mehdijony/building-a-scalable-backend-architecture-with-nestjs-kafka-and-postgresql-4c20</guid>
      <description>&lt;p&gt;Most backend systems collapse under scale not because of traffic, but because of poor architectural decisions made early. Tight coupling, synchronous dependencies, and weak data strategies create bottlenecks that are expensive to fix later.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problem
&lt;/h2&gt;

&lt;p&gt;Typical backend issues at scale:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API latency increases under load&lt;/li&gt;
&lt;li&gt;Services become tightly coupled&lt;/li&gt;
&lt;li&gt;Failures cascade across the system&lt;/li&gt;
&lt;li&gt;Database becomes a bottleneck&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1whkhkxkkwaw4hpjy2mp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1whkhkxkkwaw4hpjy2mp.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture Overview
&lt;/h2&gt;

&lt;p&gt;An event-driven microservices architecture:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API Gateway (NestJS)&lt;/li&gt;
&lt;li&gt;Microservices (NestJS)&lt;/li&gt;
&lt;li&gt;Kafka (message broker)&lt;/li&gt;
&lt;li&gt;PostgreSQL (database)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Client hits API Gateway&lt;/li&gt;
&lt;li&gt;Event is produced&lt;/li&gt;
&lt;li&gt;Kafka distributes it&lt;/li&gt;
&lt;li&gt;Consumers process independently&lt;/li&gt;
&lt;li&gt;Data persists&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Why This Stack
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;NestJS&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Modular architecture&lt;/li&gt;
&lt;li&gt;Dependency injection&lt;/li&gt;
&lt;li&gt;Scalable structure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Kafka&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;High-throughput messaging&lt;/li&gt;
&lt;li&gt;Decouples services&lt;/li&gt;
&lt;li&gt;Enables async workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Strong consistency&lt;/li&gt;
&lt;li&gt;Reliable transactions&lt;/li&gt;
&lt;li&gt;Powerful querying&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Event-Driven Communication
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Producer:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;kafkaClient&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;emit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;order_created&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Consumer:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;MessagePattern&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;order_created&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;handle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;any&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// process event&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Key Strategies
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Failure Handling&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Retry with backoff&lt;/li&gt;
&lt;li&gt;Dead Letter Queues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Idempotency&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Track processed events&lt;/li&gt;
&lt;li&gt;Prevent duplication&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Scaling&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Horizontal scaling for consumers&lt;/li&gt;
&lt;li&gt;Read replicas for DB&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Real-World Use Case
&lt;/h2&gt;

&lt;p&gt;In systems like logistics or trading platforms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Orders trigger multiple services&lt;/li&gt;
&lt;li&gt;Payments, inventory, notifications run independently&lt;/li&gt;
&lt;li&gt;Failures don’t block the system&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Design async-first&lt;/li&gt;
&lt;li&gt;Avoid tight coupling&lt;/li&gt;
&lt;li&gt;Plan for failure&lt;/li&gt;
&lt;li&gt;Scale consumers, not just APIs&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Full Article
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://medium.com/@shoyshab/building-a-scalable-backend-architecture-with-nestjs-kafka-and-postgresql-ae938465b39b" rel="noopener noreferrer"&gt;https://medium.com/@shoyshab/building-a-scalable-backend-architecture-with-nestjs-kafka-and-postgresql-ae938465b39b&lt;/a&gt;&lt;/p&gt;

</description>
      <category>nestjs</category>
      <category>microservices</category>
      <category>backenddevelopment</category>
      <category>postgres</category>
    </item>
  </channel>
</rss>
