<?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: Divya Munnuru</title>
    <description>The latest articles on DEV Community by Divya Munnuru (@divyamunnuru).</description>
    <link>https://dev.to/divyamunnuru</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4006737%2F7abf9793-e015-46bb-8d07-510bdf0b10b8.png</url>
      <title>DEV Community: Divya Munnuru</title>
      <link>https://dev.to/divyamunnuru</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/divyamunnuru"/>
    <language>en</language>
    <item>
      <title>Building AgriMind: My Journey into Agentic AI – Part 4</title>
      <dc:creator>Divya Munnuru</dc:creator>
      <pubDate>Sat, 18 Jul 2026 16:03:09 +0000</pubDate>
      <link>https://dev.to/divyamunnuru/building-agrimind-my-journey-into-agentic-ai-part-4-2lfi</link>
      <guid>https://dev.to/divyamunnuru/building-agrimind-my-journey-into-agentic-ai-part-4-2lfi</guid>
      <description>&lt;h2&gt;
  
  
  Making AI Smarter with RAG: Bringing Trusted Agricultural Knowledge into the Conversation
&lt;/h2&gt;

&lt;p&gt;In the previous parts of this series, I explored how Agentic AI can solve real-world agricultural problems, how I designed MCP servers to expose farming capabilities, and how adding Memory helped the AI remember previous interactions with farmers.&lt;/p&gt;

&lt;p&gt;While Memory made conversations more personal, I soon discovered another limitation.&lt;/p&gt;

&lt;p&gt;The AI could remember &lt;strong&gt;who&lt;/strong&gt; the farmer was.&lt;/p&gt;

&lt;p&gt;But it didn't always know &lt;strong&gt;where to find the most relevant and trustworthy information.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That led me to another fascinating concept that's becoming an essential part of modern AI systems—&lt;strong&gt;Retrieval-Augmented Generation (RAG).&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Memory Wasn't Enough
&lt;/h2&gt;

&lt;p&gt;Imagine a farmer asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"What government schemes am I eligible for?"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A Large Language Model can certainly explain what PM-KISAN or crop insurance is.&lt;/p&gt;

&lt;p&gt;But eligibility depends on several factors:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;State&lt;/li&gt;
&lt;li&gt;District&lt;/li&gt;
&lt;li&gt;Land size&lt;/li&gt;
&lt;li&gt;Previous crop&lt;/li&gt;
&lt;li&gt;Type of subsidy requested&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These details change over time, and government schemes are updated regularly.&lt;/p&gt;

&lt;p&gt;Relying solely on an LLM's training data isn't always the best approach.&lt;/p&gt;

&lt;p&gt;The AI needs access to &lt;strong&gt;current, structured, and trusted information&lt;/strong&gt; before generating a response.&lt;/p&gt;

&lt;p&gt;That's exactly where RAG becomes useful.&lt;/p&gt;




&lt;h1&gt;
  
  
  Understanding RAG
&lt;/h1&gt;

&lt;p&gt;Before implementing it, I assumed RAG was simply another AI buzzword.&lt;/p&gt;

&lt;p&gt;Once I started building it, I realized the idea is surprisingly simple.&lt;/p&gt;

&lt;p&gt;Instead of expecting the LLM to remember everything, we first retrieve the most relevant information from a knowledge source.&lt;/p&gt;

&lt;p&gt;Only then do we ask the model to generate a response using that retrieved context.&lt;/p&gt;

&lt;p&gt;The workflow becomes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Farmer Question
        │
        ▼
Retrieve Relevant Knowledge
        │
        ▼
Provide Context to LLM
        │
        ▼
Generate Personalized Response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instead of guessing, the AI answers using information that it has just retrieved.&lt;/p&gt;




&lt;h1&gt;
  
  
  My Design Decision
&lt;/h1&gt;

&lt;p&gt;One thing I deliberately chose &lt;strong&gt;not&lt;/strong&gt; to implement was a traditional vector database.&lt;/p&gt;

&lt;p&gt;Most RAG tutorials immediately introduce embeddings, semantic search, and vector stores.&lt;/p&gt;

&lt;p&gt;While those are excellent approaches for unstructured documents, my use case was different.&lt;/p&gt;

&lt;p&gt;Government agricultural schemes already contain structured attributes such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Eligible states&lt;/li&gt;
&lt;li&gt;Supported crops&lt;/li&gt;
&lt;li&gt;Maximum land size&lt;/li&gt;
&lt;li&gt;Benefits&lt;/li&gt;
&lt;li&gt;Scheme description&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rather than adding unnecessary complexity, I built a lightweight local retrieval engine using a structured JSON knowledge base.&lt;/p&gt;

&lt;p&gt;Sometimes the simplest solution is the most appropriate.&lt;/p&gt;




&lt;h1&gt;
  
  
  Building a Government Scheme Knowledge Base
&lt;/h1&gt;

&lt;p&gt;I created a local database containing agricultural schemes such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PM-KISAN&lt;/li&gt;
&lt;li&gt;PMFBY (Crop Insurance)&lt;/li&gt;
&lt;li&gt;PMKSY (Irrigation)&lt;/li&gt;
&lt;li&gt;State-specific agricultural subsidies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each scheme stores important eligibility information including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;State&lt;/li&gt;
&lt;li&gt;Supported crop&lt;/li&gt;
&lt;li&gt;Maximum farm size&lt;/li&gt;
&lt;li&gt;Benefits&lt;/li&gt;
&lt;li&gt;Description&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of searching documents manually, the application filters this structured data based on the farmer's profile.&lt;/p&gt;




&lt;h1&gt;
  
  
  Bringing Memory and RAG Together
&lt;/h1&gt;

&lt;p&gt;One feature I really enjoyed implementing was combining the work from Part 3 with RAG.&lt;/p&gt;

&lt;p&gt;The frontend already knows the farmer's profile from previous interactions.&lt;/p&gt;

&lt;p&gt;Whenever the farmer asks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"What subsidies am I qualify for?"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;the application automatically shares contextual information such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;State&lt;/li&gt;
&lt;li&gt;District&lt;/li&gt;
&lt;li&gt;Farm size&lt;/li&gt;
&lt;li&gt;Previous crop&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The farmer doesn't have to repeat these details.&lt;/p&gt;

&lt;p&gt;The retrieval engine uses this context to identify matching schemes before the LLM generates its answer.&lt;/p&gt;

&lt;p&gt;This made the entire experience feel much more natural.&lt;/p&gt;




&lt;h1&gt;
  
  
  How the Retrieval Works
&lt;/h1&gt;

&lt;p&gt;The flow is intentionally simple.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Farmer asks about subsidies
          │
          ▼
Retrieve Farmer Profile
          │
          ▼
Filter Local Scheme Database
(State + Crop + Land Size)
          │
          ▼
Retrieve Matching Schemes
          │
          ▼
Inject Retrieved Schemes into Prompt
          │
          ▼
LLM Generates Personalized Response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The AI no longer responds with generic information.&lt;/p&gt;

&lt;p&gt;Instead, it explains the schemes that are actually relevant to that particular farmer.&lt;/p&gt;




&lt;h1&gt;
  
  
  Adding ReAct Reasoning
&lt;/h1&gt;

&lt;p&gt;Since AgriMind follows an Agentic AI approach, I wanted the reasoning process to be transparent.&lt;/p&gt;

&lt;p&gt;Whenever a scheme-related question is detected, the agent internally follows a simple ReAct workflow.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Thought:
The user is asking about government schemes.

Tool:
Retrieve matching schemes from the local knowledge base.

Observation:
Found PM-KISAN and state-specific irrigation subsidy.

Response:
Explain eligibility and benefits in simple language.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Although the retrieval happens behind the scenes, this approach helped me understand how reasoning and retrieval work together in an AI Agent.&lt;/p&gt;




&lt;h1&gt;
  
  
  Designing for Reliability
&lt;/h1&gt;

&lt;p&gt;Another important goal of this project was ensuring that the application remains useful even if the LLM becomes unavailable.&lt;/p&gt;

&lt;p&gt;For that reason, I implemented a fallback mode.&lt;/p&gt;

&lt;p&gt;If the LLM API is offline, the retrieval engine still filters the scheme database and returns a friendly summary of matching schemes.&lt;/p&gt;

&lt;p&gt;This reinforced another lesson for me:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Good AI systems should continue providing value even when external AI services are unavailable.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  What I Learned
&lt;/h1&gt;

&lt;p&gt;Implementing RAG completely changed my perspective.&lt;/p&gt;

&lt;p&gt;Initially, I thought RAG was mainly about embeddings and vector databases.&lt;/p&gt;

&lt;p&gt;After building this feature, I realized that RAG is fundamentally about &lt;strong&gt;retrieving the right knowledge before generating an answer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The retrieval mechanism should fit the problem you're solving.&lt;/p&gt;

&lt;p&gt;For structured agricultural data, a lightweight retrieval engine was more than enough.&lt;/p&gt;

&lt;p&gt;The goal isn't to use the most advanced technology.&lt;/p&gt;

&lt;p&gt;The goal is to deliver the right information to the user.&lt;/p&gt;




&lt;h1&gt;
  
  
  Looking Ahead
&lt;/h1&gt;

&lt;p&gt;At this point, AgriMind can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reason using MCP tools&lt;/li&gt;
&lt;li&gt;Remember previous interactions&lt;/li&gt;
&lt;li&gt;Retrieve trusted agricultural knowledge&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The next feature I wanted to explore was even more exciting.&lt;/p&gt;

&lt;p&gt;What if a farmer could simply upload a picture of an infected crop leaf and receive an instant diagnosis?&lt;/p&gt;

&lt;p&gt;That became the inspiration for the next phase of the project.&lt;/p&gt;

&lt;p&gt;In &lt;strong&gt;Part 5&lt;/strong&gt;, I'll share how I integrated &lt;strong&gt;Vision AI&lt;/strong&gt; into AgriMind to detect crop diseases from uploaded images and combine computer vision with Agentic AI to provide treatment recommendations.&lt;/p&gt;

&lt;p&gt;As always, this project continues to be my way of learning modern AI by building real-world applications rather than just reading documentation.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Building AgriMind: My Journey into Agentic AI – Part 3</title>
      <dc:creator>Divya Munnuru</dc:creator>
      <pubDate>Sat, 04 Jul 2026 16:33:17 +0000</pubDate>
      <link>https://dev.to/divyamunnuru/building-agrimind-my-journey-into-agentic-ai-part-3-555j</link>
      <guid>https://dev.to/divyamunnuru/building-agrimind-my-journey-into-agentic-ai-part-3-555j</guid>
      <description>&lt;h2&gt;
  
  
  Giving AI a Memory: Building Context-Aware Conversations for Farmers
&lt;/h2&gt;

&lt;p&gt;In the first two parts of this series, I shared why I chose Agriculture as the domain to explore Agentic AI and how I designed &lt;strong&gt;MCP Servers&lt;/strong&gt; to expose agricultural capabilities like crop recommendations, disease detection, mandi prices, and conversational assistance.&lt;/p&gt;

&lt;p&gt;As I continued using the application, I noticed something interesting.&lt;/p&gt;

&lt;p&gt;The AI was intelligent enough to answer questions.&lt;/p&gt;

&lt;p&gt;It could detect diseases from crop images.&lt;/p&gt;

&lt;p&gt;It could recommend crops.&lt;/p&gt;

&lt;p&gt;It could even generate reports.&lt;/p&gt;

&lt;p&gt;But every time I started a new conversation, it behaved as if we had never spoken before.&lt;/p&gt;

&lt;p&gt;The farmer had to explain everything again.&lt;/p&gt;

&lt;p&gt;That made me realize something important.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;An AI Agent that forgets every conversation doesn't feel like an assistant—it feels like a search engine.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That became my motivation for implementing &lt;strong&gt;Memory and Context&lt;/strong&gt; in Kisan Mitra AI.&lt;/p&gt;




&lt;h1&gt;
  
  
  Why Memory Matters
&lt;/h1&gt;

&lt;p&gt;Imagine visiting your family doctor.&lt;/p&gt;

&lt;p&gt;Every appointment begins with the doctor asking:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What's your name?&lt;/li&gt;
&lt;li&gt;What illness did you have last month?&lt;/li&gt;
&lt;li&gt;Which medicines were prescribed?&lt;/li&gt;
&lt;li&gt;Have you recovered?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That would be frustrating.&lt;/p&gt;

&lt;p&gt;Doctors become effective because they remember your medical history.&lt;/p&gt;

&lt;p&gt;The same principle applies to AI.&lt;/p&gt;

&lt;p&gt;A farmer shouldn't have to repeatedly explain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which crop they're growing&lt;/li&gt;
&lt;li&gt;Which disease was detected previously&lt;/li&gt;
&lt;li&gt;What treatment was recommended&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An intelligent farming assistant should already know.&lt;/p&gt;




&lt;h1&gt;
  
  
  The Problem I Wanted to Solve
&lt;/h1&gt;

&lt;p&gt;Let's imagine a farmer uploads an image of a tomato leaf.&lt;/p&gt;

&lt;p&gt;The AI detects:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Crop:
Tomato

Disease:
Early Blight
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The farmer receives treatment recommendations.&lt;/p&gt;

&lt;p&gt;Everything works perfectly.&lt;/p&gt;

&lt;p&gt;Now imagine the same farmer comes back three days later and asks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"How do I prevent this from happening again?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Without memory, the chatbot has no idea what "this" refers to.&lt;/p&gt;

&lt;p&gt;It asks the farmer to upload the image again or explain the disease from scratch.&lt;/p&gt;

&lt;p&gt;That isn't a natural conversation.&lt;/p&gt;




&lt;h1&gt;
  
  
  My Approach
&lt;/h1&gt;

&lt;p&gt;For this learning project, I wanted to keep the implementation simple while demonstrating the concept of persistent memory.&lt;/p&gt;

&lt;p&gt;Instead of introducing databases or vector stores immediately, I implemented a lightweight &lt;strong&gt;JSON-based memory store&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Each farmer is identified using their email address.&lt;/p&gt;

&lt;p&gt;Whenever a disease is successfully detected from an uploaded image, the application stores:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Farmer Email&lt;/li&gt;
&lt;li&gt;Last Crop&lt;/li&gt;
&lt;li&gt;Last Detected Disease&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"farmer@email.com"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"last_crop"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Tomato"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"last_disease"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Early Blight"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Although simple, this creates persistent memory across chatbot sessions.&lt;/p&gt;




&lt;h1&gt;
  
  
  Bringing Context into the Conversation
&lt;/h1&gt;

&lt;p&gt;Storing memory alone isn't enough.&lt;/p&gt;

&lt;p&gt;The AI also needs to &lt;strong&gt;use&lt;/strong&gt; that information.&lt;/p&gt;

&lt;p&gt;Whenever the farmer opens the chatbot, the application checks whether previous memory exists.&lt;/p&gt;

&lt;p&gt;If it does, the chatbot welcomes the farmer with something like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Welcome back! I remember that your Tomato crop suffered from Early Blight during your last visit. How is your crop doing today?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Immediately, the conversation feels more personal.&lt;/p&gt;

&lt;p&gt;More importantly, the previous crop and disease are injected into the AI's system prompt before sending the request to the LLM.&lt;/p&gt;

&lt;p&gt;Instead of starting from zero, the model now has context.&lt;/p&gt;




&lt;h1&gt;
  
  
  How the Flow Works
&lt;/h1&gt;

&lt;p&gt;The memory workflow is straightforward.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Farmer uploads crop image
          │
          ▼
Disease Detection
          │
          ▼
Store Crop + Disease
(using farmer email)
          │
          ▼
Persistent JSON Memory
          │
          ▼
Next Chat Session
          │
          ▼
Retrieve Previous Memory
          │
          ▼
Inject Context into LLM Prompt
          │
          ▼
Context-Aware Response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This small enhancement dramatically changes the user experience.&lt;/p&gt;




&lt;h1&gt;
  
  
  A Practical Example
&lt;/h1&gt;

&lt;h3&gt;
  
  
  First Conversation
&lt;/h3&gt;

&lt;p&gt;Farmer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;My tomato leaves have brown spots.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;AI:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Your tomato crop is affected by Early Blight.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The diagnosis is saved.&lt;/p&gt;




&lt;h3&gt;
  
  
  A Few Days Later
&lt;/h3&gt;

&lt;p&gt;Farmer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How can I prevent this?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of asking,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Which crop are you talking about?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;the AI already knows.&lt;/p&gt;

&lt;p&gt;It responds:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Since your tomato crop previously suffered from Early Blight, regular monitoring, proper spacing between plants, and avoiding overhead irrigation can significantly reduce future infections.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's the difference context makes.&lt;/p&gt;




&lt;h1&gt;
  
  
  What I Learned
&lt;/h1&gt;

&lt;p&gt;Before implementing this feature, I assumed "memory" simply meant saving conversations.&lt;/p&gt;

&lt;p&gt;After building it, I realized it's much more than that.&lt;/p&gt;

&lt;p&gt;Memory allows an AI Agent to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Continue conversations naturally&lt;/li&gt;
&lt;li&gt;Reduce repetitive questions&lt;/li&gt;
&lt;li&gt;Personalize recommendations&lt;/li&gt;
&lt;li&gt;Build trust with users&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even a small amount of remembered information makes the assistant feel far more intelligent.&lt;/p&gt;




&lt;h1&gt;
  
  
  Looking Ahead
&lt;/h1&gt;

&lt;p&gt;This implementation is intentionally lightweight because my goal was to understand the fundamentals.&lt;/p&gt;

&lt;p&gt;In the future, I plan to extend memory much further.&lt;/p&gt;

&lt;p&gt;Instead of remembering only the last diagnosis, the AI could maintain a complete farming profile, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Soil type&lt;/li&gt;
&lt;li&gt;State and district&lt;/li&gt;
&lt;li&gt;Current crops&lt;/li&gt;
&lt;li&gt;Disease history&lt;/li&gt;
&lt;li&gt;Previous recommendations&lt;/li&gt;
&lt;li&gt;Seasonal farming activities&lt;/li&gt;
&lt;li&gt;Irrigation methods&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Combined with Agentic AI, this opens the door to highly personalized agricultural assistance.&lt;/p&gt;

&lt;p&gt;Imagine an AI that says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Last Kharif season, your groundnut crop experienced Leaf Spot disease. Based on the current weather forecast and your farm history, I recommend preventive measures this week."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's no longer just a chatbot.&lt;/p&gt;

&lt;p&gt;It's beginning to behave like a digital farming advisor.&lt;/p&gt;




&lt;h1&gt;
  
  
  What's Next?
&lt;/h1&gt;

&lt;p&gt;Now that the AI can remember previous interactions, the next challenge is making it &lt;strong&gt;knowledgeable&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Memory helps the AI remember the farmer.&lt;/p&gt;

&lt;p&gt;But what if the AI needs to answer questions using trusted agricultural documents, government advisories, or research papers instead of relying only on its training?&lt;/p&gt;

&lt;p&gt;That's where &lt;strong&gt;Retrieval-Augmented Generation (RAG)&lt;/strong&gt; comes in.&lt;/p&gt;

&lt;p&gt;In &lt;strong&gt;Part 4&lt;/strong&gt;, I'll share how I integrated RAG into Kisan Mitra AI so that the assistant can retrieve information from agricultural knowledge sources and provide more accurate, grounded, and reliable recommendations.&lt;/p&gt;

&lt;p&gt;As always, I'm learning by building, and I hope this series helps others who are exploring the exciting world of &lt;strong&gt;Agentic AI&lt;/strong&gt;.&lt;/p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa8jzyvez79vpz3ui6jgb.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa8jzyvez79vpz3ui6jgb.jpg" alt=" " width="799" height="489"&gt;&lt;/a&gt;&lt;/p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpimk7b4zdty1i5o65at2.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpimk7b4zdty1i5o65at2.jpg" alt=" " width="800" height="496"&gt;&lt;/a&gt;&lt;/p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F381960ah1w4rurfg5sl3.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F381960ah1w4rurfg5sl3.jpg" alt=" " width="799" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Building AgriMind: My Journey into Agentic AI – Part 2</title>
      <dc:creator>Divya Munnuru</dc:creator>
      <pubDate>Fri, 03 Jul 2026 14:39:38 +0000</pubDate>
      <link>https://dev.to/divyamunnuru/building-agrimind-my-journey-into-agentic-ai-part-2-15bj</link>
      <guid>https://dev.to/divyamunnuru/building-agrimind-my-journey-into-agentic-ai-part-2-15bj</guid>
      <description>&lt;h2&gt;
  
  
  Designing MCP Servers for an Agriculture AI Assistant
&lt;/h2&gt;

&lt;p&gt;In my previous blog, I shared why I chose &lt;strong&gt;Agriculture&lt;/strong&gt; as the domain for learning Agentic AI and how I started building &lt;strong&gt;Kisan Mitra AI (AgriMind)&lt;/strong&gt; as a practical project instead of just experimenting with isolated AI examples.&lt;/p&gt;

&lt;p&gt;As I continued building the application, I came across another topic that is gaining a lot of attention in the AI ecosystem—&lt;strong&gt;Model Context Protocol (MCP).&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Everywhere I looked, developers were discussing MCP as the standard way for AI Agents to interact with external tools.&lt;/p&gt;

&lt;p&gt;Naturally, I wanted to understand it beyond the theory.&lt;/p&gt;

&lt;p&gt;So instead of reading documentation alone, I decided to integrate MCP directly into my Agriculture AI Assistant.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why MCP?
&lt;/h2&gt;

&lt;p&gt;When we think about an AI-powered farming assistant, it quickly becomes clear that a single Large Language Model isn't enough.&lt;/p&gt;

&lt;p&gt;A farmer may ask questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which crop should I grow this season?&lt;/li&gt;
&lt;li&gt;Can you identify the disease from this leaf image?&lt;/li&gt;
&lt;li&gt;What are today's mandi prices?&lt;/li&gt;
&lt;li&gt;Which government schemes am I eligible for?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some of these require reasoning.&lt;/p&gt;

&lt;p&gt;Others require external data.&lt;/p&gt;

&lt;p&gt;Some need image analysis.&lt;/p&gt;

&lt;p&gt;Others need business logic.&lt;/p&gt;

&lt;p&gt;Instead of embedding everything inside one application, MCP allows us to expose each capability as a reusable tool that an AI Agent can discover and invoke whenever needed.&lt;/p&gt;

&lt;p&gt;That modular approach immediately made sense to me.&lt;/p&gt;

&lt;h2&gt;
  
  
  My MCP Architecture
&lt;/h2&gt;

&lt;p&gt;For Kisan Mitra AI, I built a dedicated MCP Server using &lt;strong&gt;FastMCP&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of exposing REST endpoints directly to the AI Agent, I exposed agricultural capabilities as MCP tools.&lt;/p&gt;

&lt;p&gt;The architecture looks like this:&lt;/p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftqnvqfg7bfhxt0p0d1fj.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftqnvqfg7bfhxt0p0d1fj.png" alt=" " width="799" height="471"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This separation made the application much cleaner and easier to extend.&lt;/p&gt;

&lt;p&gt;Instead of teaching the AI how to perform every task, the AI simply decides &lt;strong&gt;which tool should solve the problem.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Four MCP Tools I Implemented
&lt;/h2&gt;

&lt;p&gt;To begin with, I kept the design intentionally simple.&lt;/p&gt;

&lt;h3&gt;
  
  
  🌾 Crop Recommendation Tool
&lt;/h3&gt;

&lt;p&gt;The first tool helps farmers decide which crop is best suited for their land.&lt;/p&gt;

&lt;p&gt;The AI collects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;State&lt;/li&gt;
&lt;li&gt;District&lt;/li&gt;
&lt;li&gt;Soil type&lt;/li&gt;
&lt;li&gt;Cropping season&lt;/li&gt;
&lt;li&gt;Irrigation level&lt;/li&gt;
&lt;li&gt;Water source&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The MCP server then generates crop recommendations, expected yield, fertilizer guidance, and even creates a professional PDF report.&lt;/p&gt;

&lt;p&gt;If the farmer provides an email address, the report is automatically sent through Gmail.&lt;/p&gt;

&lt;p&gt;This was one of my favourite features because it demonstrates that an AI Agent can not only answer questions but also complete useful business tasks.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔬 Disease Detection Tool
&lt;/h3&gt;

&lt;p&gt;One of the most exciting parts of the project was integrating Vision AI.&lt;/p&gt;

&lt;p&gt;The farmer uploads an image of a crop leaf.&lt;/p&gt;

&lt;p&gt;The AI Agent invokes the Disease Detection MCP tool.&lt;/p&gt;

&lt;p&gt;The tool analyses the image and returns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Crop name&lt;/li&gt;
&lt;li&gt;Disease&lt;/li&gt;
&lt;li&gt;Confidence score&lt;/li&gt;
&lt;li&gt;Symptoms&lt;/li&gt;
&lt;li&gt;Organic treatment&lt;/li&gt;
&lt;li&gt;Prevention tips&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of receiving a generic response, the farmer gets structured and actionable recommendations.&lt;/p&gt;




&lt;h3&gt;
  
  
  📈 Mandi Price Tool
&lt;/h3&gt;

&lt;p&gt;Farmers often want to know whether it is the right time to sell their crops.&lt;/p&gt;

&lt;p&gt;For this, I created a Mandi Price MCP tool.&lt;/p&gt;

&lt;p&gt;The tool provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Current market prices&lt;/li&gt;
&lt;li&gt;Minimum price&lt;/li&gt;
&lt;li&gt;Maximum price&lt;/li&gt;
&lt;li&gt;Modal price&lt;/li&gt;
&lt;li&gt;Daily price trend&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Although I currently use simulated market data for learning purposes, the same architecture can easily integrate with real government market APIs in the future.&lt;/p&gt;




&lt;h3&gt;
  
  
  💬 Agricultural Chat Tool
&lt;/h3&gt;

&lt;p&gt;This became the central intelligence of the application.&lt;/p&gt;

&lt;p&gt;Rather than simply forwarding every question to an LLM, I implemented a routing workflow.&lt;/p&gt;

&lt;p&gt;Depending on the farmer's question, the AI decides whether it should:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Detect crop disease&lt;/li&gt;
&lt;li&gt;Retrieve mandi prices&lt;/li&gt;
&lt;li&gt;Search government schemes&lt;/li&gt;
&lt;li&gt;Answer general farming questions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This was my first experience building an AI Agent that reasons before taking action, and it helped me understand why everyone is excited about Agentic AI.&lt;/p&gt;

&lt;h2&gt;
  
  
  One Feature I Really Enjoyed Building
&lt;/h2&gt;

&lt;p&gt;One feature that made the project feel much more complete was automatic report generation.&lt;/p&gt;

&lt;p&gt;After generating crop recommendations, the system creates a professional PDF report and sends it directly to the farmer's Gmail account.&lt;/p&gt;

&lt;p&gt;From the farmer's perspective, the experience is seamless:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ask a question&lt;/li&gt;
&lt;li&gt;Receive recommendations&lt;/li&gt;
&lt;li&gt;Get a detailed report in your inbox&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This small addition made the AI feel less like a chatbot and more like a digital farming assistant.&lt;/p&gt;

&lt;h2&gt;
  
  
  Designing for Reliability
&lt;/h2&gt;

&lt;p&gt;While working on this project, I also wanted to ensure the application remained useful even if an AI service became unavailable.&lt;/p&gt;

&lt;p&gt;So I implemented graceful fallbacks.&lt;/p&gt;

&lt;p&gt;If the LLM isn't available:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Crop recommendations fall back to rule-based logic.&lt;/li&gt;
&lt;li&gt;Disease detection falls back to a local disease database.&lt;/li&gt;
&lt;li&gt;Chat responses use predefined agricultural knowledge.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This taught me an important architectural lesson:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good AI systems should degrade gracefully instead of simply failing.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;Implementing MCP completely changed the way I think about AI applications.&lt;/p&gt;

&lt;p&gt;Initially, I thought AI Agents were just LLMs with better prompts.&lt;/p&gt;

&lt;p&gt;After building this project, I realised that the real strength lies in orchestration.&lt;/p&gt;

&lt;p&gt;The AI isn't expected to know everything.&lt;/p&gt;

&lt;p&gt;Instead, it reasons about the user's request, decides which tools are needed, gathers information, and then generates a meaningful response.&lt;/p&gt;

&lt;p&gt;That shift from "answer generation" to "problem solving" is what makes Agentic AI so powerful.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;One thing still bothered me while testing the application.&lt;/p&gt;

&lt;p&gt;Every time the farmer started a new conversation, the AI forgot everything.&lt;/p&gt;

&lt;p&gt;It asked the same questions again.&lt;/p&gt;

&lt;p&gt;That led me to explore another fascinating topic—&lt;strong&gt;Memory.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the next part of this series, I'll share how I implemented &lt;strong&gt;Memory and Context&lt;/strong&gt; so that the Agriculture AI Assistant can remember previous conversations, disease history, crop details, and provide much more personalized recommendations.&lt;/p&gt;

&lt;p&gt;Stay tuned for &lt;strong&gt;Part 3 – Implementing Memory in AI Agents&lt;/strong&gt;, where I'll explore how memory transforms an AI chatbot into a true digital farming companion.&lt;/p&gt;

&lt;p&gt;If you've been experimenting with MCP or Agentic AI, I'd love to hear about your experiences. Let's continue learning together.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Building AgriMind: My Journey into Agentic AI - Part1</title>
      <dc:creator>Divya Munnuru</dc:creator>
      <pubDate>Mon, 29 Jun 2026 15:20:25 +0000</pubDate>
      <link>https://dev.to/divyamunnuru/building-agrimind-my-journey-into-agentic-ai-part1-17d8</link>
      <guid>https://dev.to/divyamunnuru/building-agrimind-my-journey-into-agentic-ai-part1-17d8</guid>
      <description>&lt;h2&gt;
  
  
  Why Agriculture Needs Agentic AI
&lt;/h2&gt;

&lt;p&gt;Over the past few months, one topic has been impossible to ignore in the AI world—&lt;strong&gt;Agentic AI&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Whether it's conferences, LinkedIn discussions, tech blogs, or AI communities, everyone seems to be talking about AI Agents. Like many architects, I found myself asking the same question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"What makes an AI Agent different from a chatbot, and where can it truly create value?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of just reading articles or watching demos, I decided to learn by building something from scratch.&lt;/p&gt;

&lt;p&gt;Choosing the right use case was probably the most important decision. I wanted to work on a problem that was meaningful, technically challenging, and capable of showcasing modern AI concepts like Agentic AI, Memory, RAG, Vision AI, and Model Context Protocol (MCP).&lt;/p&gt;

&lt;p&gt;That's when I started exploring the agriculture domain.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Agriculture?
&lt;/h2&gt;

&lt;p&gt;Agriculture is one of the most important sectors in India and supports the livelihood of millions of people. Farmers make countless decisions throughout a crop's lifecycle—from selecting the right crop and monitoring weather conditions to identifying diseases and deciding when to harvest or sell their produce.&lt;/p&gt;

&lt;p&gt;While information is available from many different sources, it is often scattered across websites, government portals, research papers, weather services, and local experts. Accessing the right information at the right time isn't always easy.&lt;/p&gt;

&lt;p&gt;This made me think:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if an AI Agent could act as a digital farming assistant—bringing together all this information and helping farmers make better decisions through simple conversations?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That idea became the foundation of my learning project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Not Just Use an LLM?
&lt;/h2&gt;

&lt;p&gt;Large Language Models are incredibly powerful at answering questions, but agriculture often requires more than general knowledge.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A crop recommendation depends on the farmer's state, soil type, irrigation level, and cropping season.&lt;/li&gt;
&lt;li&gt;Disease diagnosis requires analyzing an uploaded image.&lt;/li&gt;
&lt;li&gt;Weather advisories need current forecasts.&lt;/li&gt;
&lt;li&gt;Government schemes and market prices change over time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An AI Agent can reason about the farmer's request, decide which tools to use, retrieve the latest information, and then generate a personalized response.&lt;/p&gt;

&lt;p&gt;Instead of simply answering questions, the agent performs actions and combines information from multiple sources before responding.&lt;/p&gt;

&lt;p&gt;That's what makes Agentic AI so exciting.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Learning Journey
&lt;/h2&gt;

&lt;p&gt;Rather than building everything at once, I'm approaching this project feature by feature.&lt;/p&gt;

&lt;p&gt;The Agriculture AI Assistant I'm developing will gradually evolve to include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Crop recommendations based on soil, season, and irrigation&lt;/li&gt;
&lt;li&gt;Disease detection using uploaded crop images&lt;/li&gt;
&lt;li&gt;Personalized farmer memory&lt;/li&gt;
&lt;li&gt;Retrieval-Augmented Generation (RAG) using agricultural knowledge&lt;/li&gt;
&lt;li&gt;MCP-based tool integration&lt;/li&gt;
&lt;li&gt;Email reports and notifications&lt;/li&gt;
&lt;li&gt;Multilingual conversational support&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My goal isn't just to build another chatbot. I want to understand how different AI building blocks work together to solve a real-world problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Project Excites Me
&lt;/h2&gt;

&lt;p&gt;As a Solution Architect, I've spent years designing enterprise solutions. Agentic AI feels like the next evolution in application architecture.&lt;/p&gt;

&lt;p&gt;We're moving from applications that simply respond to user requests to systems that can reason, plan, retrieve information, invoke tools, and collaborate to complete tasks.&lt;/p&gt;

&lt;p&gt;Learning these concepts through a practical project has been far more rewarding than simply reading documentation.&lt;/p&gt;

&lt;p&gt;If this journey also helps me contribute—even in a small way—to building technology that could benefit farmers across our country, that makes the learning even more meaningful.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;This is just the beginning.&lt;/p&gt;

&lt;p&gt;In the next part of this series, I'll share how I implemented &lt;strong&gt;Model Context Protocol (MCP)&lt;/strong&gt; for this Agriculture AI Assistant, how I designed dedicated MCP servers for different agricultural capabilities, and why MCP is becoming an important building block for modern AI Agent architectures.&lt;/p&gt;

&lt;p&gt;Vercel Deployed URL - &lt;a href="https://agri-assistant-drab.vercel.app/" rel="noopener noreferrer"&gt;https://agri-assistant-drab.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Stay tuned for &lt;strong&gt;Part 2 – Designing MCP Servers for Agriculture&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I'd love to hear your thoughts, suggestions, or ideas. If you're also exploring Agentic AI, let's learn and build together.&lt;/p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo270whmhp7jc6nmgwlh3.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo270whmhp7jc6nmgwlh3.jpg" alt=" " width="800" height="456"&gt;&lt;/a&gt;&lt;/p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3citnc1uhvfhwqb09en6.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3citnc1uhvfhwqb09en6.jpg" alt=" " width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
