<?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: Krishna Kumar</title>
    <description>The latest articles on DEV Community by Krishna Kumar (@krishna_kumar_612c63ef69e).</description>
    <link>https://dev.to/krishna_kumar_612c63ef69e</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%2F4155093%2F046f39eb-de06-47d0-97d8-9e6e13d2eed6.jpg</url>
      <title>DEV Community: Krishna Kumar</title>
      <link>https://dev.to/krishna_kumar_612c63ef69e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/krishna_kumar_612c63ef69e"/>
    <language>en</language>
    <item>
      <title>LazyDesk AI: Let Open AI Handle the Boring Document Work</title>
      <dc:creator>Krishna Kumar</dc:creator>
      <pubDate>Sat, 24 Oct 2026 15:14:32 +0000</pubDate>
      <link>https://dev.to/krishna_kumar_612c63ef69e/lazydesk-ai-let-open-ai-handle-the-boring-document-work-25l</link>
      <guid>https://dev.to/krishna_kumar_612c63ef69e/lazydesk-ai-let-open-ai-handle-the-boring-document-work-25l</guid>
      <description>&lt;p&gt;What I Built&lt;/p&gt;

&lt;p&gt;As developers, we spend a lot of time reading documentation, reviewing project briefs, and turning lengthy documents into actionable tasks. The work is necessary, but much of it is repetitive.&lt;/p&gt;

&lt;p&gt;I built LazyDesk AI, a local-first document assistant that helps automate the boring parts of document processing.&lt;/p&gt;

&lt;p&gt;With LazyDesk AI, you can:&lt;/p&gt;

&lt;p&gt;Summarize documents: Upload a PDF or TXT file and generate a concise summary.&lt;/p&gt;

&lt;p&gt;Extract action items: Identify tasks and deadlines explicitly mentioned in the document.&lt;/p&gt;

&lt;p&gt;Export results: Download generated summaries and action items as Markdown.&lt;/p&gt;

&lt;p&gt;Run AI locally: Use an open-weight model through Ollama instead of relying on a hosted AI API.&lt;/p&gt;

&lt;p&gt;The idea behind LazyDesk AI is simple: spend less time manually processing documents and more time acting on the information they contain.&lt;/p&gt;

&lt;p&gt;It is designed for students, developers, and anyone who regularly works with technical documentation, project notes, or lengthy text files.&lt;/p&gt;

&lt;p&gt;Code&lt;/p&gt;

&lt;p&gt;💻 GitHub Repository: &lt;a href="https://github.com/Krishnakumar7255/LazyDesk-AI" rel="noopener noreferrer"&gt;https://github.com/Krishnakumar7255/LazyDesk-AI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is open source and available for developers to explore, run locally, and improve.&lt;/p&gt;

&lt;p&gt;How I Built It&lt;/p&gt;

&lt;p&gt;LazyDesk AI uses a straightforward Python-based architecture.&lt;/p&gt;

&lt;p&gt;Tech stack:&lt;/p&gt;

&lt;p&gt;Python for application logic&lt;/p&gt;

&lt;p&gt;Streamlit for the user interface&lt;/p&gt;

&lt;p&gt;Ollama for local model inference&lt;/p&gt;

&lt;p&gt;Gemma 2 2B as the open-weight language model&lt;/p&gt;

&lt;p&gt;pypdf for extracting text from PDFs&lt;/p&gt;

&lt;p&gt;The workflow is simple:&lt;/p&gt;

&lt;p&gt;A user uploads a PDF or TXT document.&lt;/p&gt;

&lt;p&gt;The application extracts the document's text.&lt;/p&gt;

&lt;p&gt;The text is passed to Gemma through the local Ollama runtime.&lt;/p&gt;

&lt;p&gt;The model generates a summary or extracts actionable information.&lt;/p&gt;

&lt;p&gt;The user reviews the result and downloads it as Markdown.&lt;/p&gt;

&lt;p&gt;The default model is gemma2:2b.&lt;/p&gt;

&lt;p&gt;Because inference runs locally, the application does not need a paid hosted AI API key for its default workflow. After the model has been downloaded, the core workflow can also run without an internet connection, provided the local dependencies and model are available.&lt;/p&gt;

&lt;p&gt;Why Does Open Innovation Matter?&lt;/p&gt;

&lt;p&gt;For LazyDesk AI, open innovation is about control, privacy, flexibility, and accessibility.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Keep document processing local&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Documents can contain personal notes, academic work, or internal project information. Running inference locally means the extracted text does not need to be sent to an external AI provider.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Reduce dependence on paid APIs&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Hosted AI services may charge for each request or impose usage limits. With LazyDesk AI, local inference avoids per-request hosted API charges, although the computer still consumes electricity and requires sufficient hardware.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Experiment with different models&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Using Ollama makes it possible to experiment with compatible locally installed models and compare their outputs. Developers can adapt the workflow instead of depending entirely on one closed provider.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Make offline AI practical&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once the model and dependencies are installed, the application can process supported documents without an active internet connection. This is useful when connectivity is unreliable or documents should remain on the user's machine.&lt;/p&gt;

&lt;p&gt;A closed API can make model access convenient, but local open-weight inference gives this project something important: the ability to run its core AI workflow under the user's control.&lt;/p&gt;

&lt;p&gt;Local execution is not a guarantee of perfect privacy or accuracy, and model licenses and hardware requirements still matter. Generated summaries and extracted tasks should always be checked against the original document.&lt;/p&gt;

&lt;p&gt;My Agent Session&lt;/p&gt;

&lt;p&gt;Optional: [Add your DevRelay agent session link here]&lt;/p&gt;

&lt;p&gt;I will include an agent session if available so others can explore the development process behind the project.&lt;/p&gt;

&lt;p&gt;The Lazy Payoff&lt;/p&gt;

&lt;p&gt;The best automation is the kind that removes a repetitive step from your everyday workflow.&lt;/p&gt;

&lt;p&gt;Imagine receiving a long project brief. Instead of manually rewriting its contents into notes, you can start with an AI-generated summary and a list of potential action items, then verify them against the original document.&lt;/p&gt;

&lt;p&gt;That gives you a more manageable starting point without pretending that AI removes the need for judgment.&lt;/p&gt;

&lt;p&gt;I have not included an unverified time-saving percentage or accuracy score. A useful next step is to compare manual processing time against LazyDesk AI on the same document and measure how much editing the generated output requires.&lt;/p&gt;

&lt;p&gt;My goal is to make document processing less tedious, not to generate impressive-looking numbers without evidence.&lt;/p&gt;

&lt;p&gt;Prize Categories&lt;/p&gt;

&lt;p&gt;Primary challenge: Hacktoberfest Open-Source AI Challenge — Week 3: Slow and Steady.&lt;/p&gt;

&lt;p&gt;Potential partner category: Best Use of Gemma, because Gemma is the open-weight model used in LazyDesk AI.&lt;/p&gt;

&lt;p&gt;The Gemma category is the most directly relevant partner category for this implementation. Any additional category should only be selected if the project actually uses that partner's technology.&lt;/p&gt;

&lt;p&gt;Sometimes productivity is not about doing more. Sometimes it is about eliminating the boring work that gets in the way.&lt;/p&gt;

&lt;p&gt;Build less busywork. Keep more time for building. 🦥&lt;/p&gt;

&lt;h1&gt;
  
  
  devchallenge #hf26challenge
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>MenuMitra AI: Building a Local-First AI Menu Translator for Small Restaurants</title>
      <dc:creator>Krishna Kumar</dc:creator>
      <pubDate>Sun, 18 Oct 2026 15:33:33 +0000</pubDate>
      <link>https://dev.to/krishna_kumar_612c63ef69e/menumitra-ai-building-a-local-first-ai-menu-translator-for-small-restaurants-40g6</link>
      <guid>https://dev.to/krishna_kumar_612c63ef69e/menumitra-ai-building-a-local-first-ai-menu-translator-for-small-restaurants-40g6</guid>
      <description>&lt;p&gt;🍽️ Introducing MenuMitra AI&lt;/p&gt;

&lt;p&gt;Small restaurants and cafés often need menus in multiple languages, but translating and formatting menus can take time and money. I wanted to explore how open-source AI could make this process more accessible.&lt;/p&gt;

&lt;p&gt;That's why I'm building MenuMitra AI — a local-first AI menu translation tool designed for restaurants, cafés, and small food businesses.&lt;/p&gt;

&lt;p&gt;💡 The Problem&lt;/p&gt;

&lt;p&gt;A restaurant may want to serve customers who speak different languages, but creating and maintaining multilingual menus can be difficult. Small businesses may also have privacy concerns when uploading business data to external AI services.&lt;/p&gt;

&lt;p&gt;🚀 My Solution&lt;/p&gt;

&lt;p&gt;MenuMitra AI aims to help restaurants translate menu items and create menus that are easier to share and print.&lt;/p&gt;

&lt;p&gt;The project is designed around these capabilities:&lt;/p&gt;

&lt;p&gt;🌐 AI-assisted menu translation&lt;/p&gt;

&lt;p&gt;🍛 Keeping original dish names where appropriate&lt;/p&gt;

&lt;p&gt;💰 Preserving menu prices from the source data&lt;/p&gt;

&lt;p&gt;📄 Importing and exporting menu data using CSV&lt;/p&gt;

&lt;p&gt;🖨️ Creating a printable menu through the browser&lt;/p&gt;

&lt;p&gt;🔒 Using a locally running model to reduce the need to send menu content to an external AI API&lt;/p&gt;

&lt;p&gt;🛠️ Tech Stack&lt;/p&gt;

&lt;p&gt;Python — application logic&lt;/p&gt;

&lt;p&gt;FastAPI — backend API&lt;/p&gt;

&lt;p&gt;Ollama — running a language model locally&lt;/p&gt;

&lt;p&gt;Qwen2.5 — the default model configured in the prototype&lt;/p&gt;

&lt;p&gt;The exact model and its license should be checked before redistribution or commercial deployment.&lt;/p&gt;

&lt;p&gt;🌱 Why Open-Source AI?&lt;/p&gt;

&lt;p&gt;Open-source tools give developers and small businesses more control over how software is used and customized.&lt;/p&gt;

&lt;p&gt;With a local model, a business can potentially process its menu content on its own machine after downloading the required model. This can reduce reliance on paid, per-request AI APIs. However, local inference still requires suitable hardware and consumes computing resources.&lt;/p&gt;

&lt;p&gt;I also want this project to be open to contributions, including better regional-language support, improved translations, and feedback from restaurant owners.&lt;/p&gt;

&lt;p&gt;🔗 GitHub Repository&lt;/p&gt;

&lt;p&gt;Explore the project and contribute:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/Krishnakumar7255/MenuMitraAI" rel="noopener noreferrer"&gt;https://github.com/Krishnakumar7255/MenuMitraAI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🧪 Current Status&lt;/p&gt;

&lt;p&gt;MenuMitra AI is a prototype, and its functionality and translation quality need to be verified through local testing and real-world feedback.&lt;/p&gt;

&lt;p&gt;AI-generated translations may contain errors. Restaurant owners should review the final menu, especially prices, ingredients, and allergen information, before using it with customers.&lt;/p&gt;

&lt;p&gt;🙌 What's Next?&lt;/p&gt;

&lt;p&gt;I'd like to improve the project with feedback from developers and small-business owners.&lt;/p&gt;

&lt;p&gt;Some ideas I'm exploring include:&lt;/p&gt;

&lt;p&gt;Support for more Indian languages&lt;/p&gt;

&lt;p&gt;Better handling of regional dish names&lt;/p&gt;

&lt;p&gt;More menu templates&lt;/p&gt;

&lt;p&gt;A smoother workflow for restaurant owners&lt;/p&gt;

&lt;p&gt;I'd love your feedback!&lt;/p&gt;

&lt;p&gt;If you run a restaurant or café, what would make a tool like this genuinely useful for your business? And if you're a developer, what feature would you contribute first?&lt;/p&gt;

&lt;h1&gt;
  
  
  OpenSourceAI #BuildInPublic
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>BirdSnap Offline: Identify Bird Calls with Local AI</title>
      <dc:creator>Krishna Kumar</dc:creator>
      <pubDate>Wed, 07 Oct 2026 17:14:41 +0000</pubDate>
      <link>https://dev.to/krishna_kumar_612c63ef69e/birdsnap-offline-identify-bird-calls-with-local-ai-1bk1</link>
      <guid>https://dev.to/krishna_kumar_612c63ef69e/birdsnap-offline-identify-bird-calls-with-local-ai-1bk1</guid>
      <description>&lt;p&gt;BirdSnap Offline is a Python-based bird-call identification app that uses the BirdNET AI model locally.&lt;/p&gt;

&lt;p&gt;The idea is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Go outside → Record a bird call → Identify it → Learn → Put the screen down → Explore nature 🌿&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The app supports microphone recording, audio uploads, bird identification, confidence scores, alternative predictions, and local observation history.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;💻 &lt;strong&gt;GitHub Repository:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/Krishnakumar7255/BirdSnap-Offline" rel="noopener noreferrer"&gt;https://github.com/Krishnakumar7255/BirdSnap-Offline&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;BirdSnap is built entirely with Python.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Streamlit&lt;/li&gt;
&lt;li&gt;BirdNET&lt;/li&gt;
&lt;li&gt;ONNX local inference&lt;/li&gt;
&lt;li&gt;JSON&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Architecture
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;🎙️ Microphone / Audio Upload
            ↓
      Streamlit Interface
            ↓
    birdnet_service.py
            ↓
       BirdNET Model
            ↓
   Bird Species + Confidence
            ↓
     Local Observation History
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No React, Node.js, FastAPI, or separate backend is required.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;BirdSnap uses local AI instead of depending on a closed cloud AI API.&lt;/p&gt;

&lt;p&gt;This provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔒 Better privacy for recordings&lt;/li&gt;
&lt;li&gt;🧠 Local AI inference&lt;/li&gt;
&lt;li&gt;🌐 Less dependency on cloud AI services&lt;/li&gt;
&lt;li&gt;🔄 Ability to experiment with different open models&lt;/li&gt;
&lt;li&gt;🛠️ More control for developers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The BirdNET ecosystem also supports local/offline inference once the required model assets are available.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌿 How It Supports "Touch Grass"
&lt;/h2&gt;

&lt;p&gt;BirdSnap is designed so that AI is only a small part of the experience.&lt;/p&gt;

&lt;p&gt;The goal is not to spend more time looking at a screen.&lt;/p&gt;

&lt;p&gt;Instead:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Record → Identify → Learn → Put the phone down → Explore 🌳&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A user can record a bird call, quickly identify it, learn something about it, and then continue observing nature.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧪 Outdoor Test
&lt;/h2&gt;

&lt;p&gt;For the real-world test, I plan to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go outside with the device.&lt;/li&gt;
&lt;li&gt;Find a bird or hear a bird call.&lt;/li&gt;
&lt;li&gt;Record the sound.&lt;/li&gt;
&lt;li&gt;Run BirdSnap.&lt;/li&gt;
&lt;li&gt;Check the prediction and confidence.&lt;/li&gt;
&lt;li&gt;Put the device down.&lt;/li&gt;
&lt;li&gt;Continue exploring and observing the bird.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  🏆 Prize Categories
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Primary Challenge:&lt;/strong&gt;&lt;br&gt;
Hacktoberfest Open-Source AI Challenge — Week 1&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Theme:&lt;/strong&gt;&lt;br&gt;
🌿 Touch Grass&lt;/p&gt;

&lt;p&gt;Add partner prize categories here only if BirdSnap genuinely qualifies for them.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤖 My Agent Session
&lt;/h2&gt;

&lt;p&gt;If you used an AI coding agent while building the project, add the session/share link here.&lt;/p&gt;

&lt;p&gt;Otherwise:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not applicable.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔮 Future Improvements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;GPS-based bird filtering&lt;/li&gt;
&lt;li&gt;Bird observation map&lt;/li&gt;
&lt;li&gt;Species information cards&lt;/li&gt;
&lt;li&gt;CSV export&lt;/li&gt;
&lt;li&gt;Better noise reduction&lt;/li&gt;
&lt;li&gt;Mobile/PWA support&lt;/li&gt;
&lt;li&gt;Daily outdoor challenges&lt;/li&gt;
&lt;li&gt;More offline capabilities&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  📜 License
&lt;/h2&gt;

&lt;p&gt;The application code is intended to use the MIT License.&lt;/p&gt;

&lt;p&gt;BirdNET model files have separate licensing terms, so the applicable model license should be checked before redistribution or commercial use.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌱 Final Thought
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;AI should not always keep us on screens. Sometimes, the best AI experience is the one that helps us put the screen down.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;BirdSnap: Hear it. Identify it. Learn it. Then go find it. 🐦🌿&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>I Built a Customer Support AI System to Help a Friend Find Answers Faster</title>
      <dc:creator>Krishna Kumar</dc:creator>
      <pubDate>Mon, 05 Oct 2026 05:00:33 +0000</pubDate>
      <link>https://dev.to/krishna_kumar_612c63ef69e/i-built-a-customer-support-ai-system-to-help-a-friend-find-answers-faster-3m92</link>
      <guid>https://dev.to/krishna_kumar_612c63ef69e/i-built-a-customer-support-ai-system-to-help-a-friend-find-answers-faster-3m92</guid>
      <description>&lt;p&gt;I built a Customer Support AI System to help a friend who was practicing customer-support workflows and needed a faster way to find accurate answers from support documentation.&lt;/p&gt;

&lt;p&gt;A common problem in customer support is that the information already exists, but finding the right piece of information can take time.&lt;/p&gt;

&lt;p&gt;Support teams may have FAQs, refund policies, account policies, payment documentation, and other reference documents spread across multiple files.&lt;/p&gt;

&lt;p&gt;Instead of manually searching through those documents, I built a system that allows support knowledge to be uploaded and searched using semantic similarity.&lt;/p&gt;

&lt;p&gt;The system can:&lt;/p&gt;

&lt;p&gt;Upload FAQ, support, policy, PDF, TXT, and Markdown documents&lt;br&gt;
Extract document text&lt;br&gt;
Clean and split the text into overlapping chunks&lt;br&gt;
Generate embeddings&lt;br&gt;
Store embeddings in ChromaDB&lt;br&gt;
Perform semantic search&lt;br&gt;
Return relevant chunks with source metadata&lt;br&gt;
Track the original document and page for retrieved information&lt;/p&gt;

&lt;p&gt;The goal is simple:&lt;/p&gt;

&lt;p&gt;Help a support agent find the right information faster.&lt;/p&gt;

&lt;p&gt;Demo&lt;/p&gt;

&lt;p&gt;The project includes a Streamlit demonstration interface for interacting with the knowledge base.&lt;/p&gt;

&lt;p&gt;Example questions&lt;/p&gt;

&lt;p&gt;The system can be tested with questions such as:&lt;/p&gt;

&lt;p&gt;How long do customers have to request a refund?&lt;br&gt;
What should I do if my account is locked?&lt;br&gt;
How quickly are password reset emails sent?&lt;br&gt;
Which payment methods are supported?&lt;br&gt;
Can a refund be requested after 30 days?&lt;/p&gt;

&lt;p&gt;The repository also provides a FastAPI backend and Swagger documentation for interacting with the API.&lt;/p&gt;

&lt;p&gt;Demo:&lt;br&gt;
&lt;a href="https://github.com/Sinjini1803/Customer-Support-System" rel="noopener noreferrer"&gt;https://github.com/Sinjini1803/Customer-Support-System&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Code&lt;/p&gt;

&lt;p&gt;The complete source code is available here:&lt;/p&gt;

&lt;p&gt;GitHub:&lt;br&gt;
&lt;a href="https://github.com/Sinjini1803/Customer-Support-System" rel="noopener noreferrer"&gt;https://github.com/Sinjini1803/Customer-Support-System&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the application code, sample data, tests, Docker configuration, ingestion pipeline, and demonstration interface.&lt;/p&gt;

&lt;p&gt;How I Built It&lt;/p&gt;

&lt;p&gt;The system is built around a Retrieval-Augmented Generation-style knowledge pipeline, with the current implementation focusing on the retrieval stage.&lt;/p&gt;

&lt;p&gt;The architecture is:&lt;/p&gt;

&lt;p&gt;Support Documents&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
Upload API&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
PDF / Text Extraction&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
Text Cleaning&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
Chunking + Overlap&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
Sentence Embeddings&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
ChromaDB&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
User Query&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
Query Embedding&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
Semantic Similarity Search&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
Top-K Relevant Chunks&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
Source Metadata&lt;/p&gt;

&lt;p&gt;The repository implements PDF/text extraction using PyMuPDF, creates overlapping chunks, generates normalized embeddings using Sentence Transformers, and persists those vectors in ChromaDB.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Document Ingestion&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A support document can be uploaded through the API.&lt;/p&gt;

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

&lt;p&gt;curl -X POST &lt;a href="http://localhost:8000/ingest" rel="noopener noreferrer"&gt;http://localhost:8000/ingest&lt;/a&gt; \&lt;br&gt;
  -F "file=&lt;a class="mentioned-user" href="https://dev.to/data"&gt;@data&lt;/a&gt;/sample_documents/refund_policy.pdf"&lt;/p&gt;

&lt;p&gt;The system extracts the document content and divides it into manageable chunks.&lt;/p&gt;

&lt;p&gt;Each chunk retains metadata such as:&lt;/p&gt;

&lt;p&gt;Document ID&lt;br&gt;
Document name&lt;br&gt;
Document type&lt;br&gt;
Page number&lt;br&gt;
Chunk number&lt;br&gt;
Source filename&lt;br&gt;
Upload timestamp&lt;/p&gt;

&lt;p&gt;This means that a search result can be traced back to its original document and page.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Embeddings&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After the document is processed, the text chunks are converted into numerical vector representations using a Sentence Transformer model.&lt;/p&gt;

&lt;p&gt;This allows the system to compare the meaning of a user's question with the meaning of stored support information rather than relying only on exact keyword matches.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;ChromaDB&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The generated embeddings are stored in ChromaDB.&lt;/p&gt;

&lt;p&gt;When a user asks a question, the question is also converted into an embedding.&lt;/p&gt;

&lt;p&gt;The system then performs semantic similarity search and retrieves the most relevant chunks.&lt;/p&gt;

&lt;p&gt;User Question&lt;br&gt;
      |&lt;br&gt;
      v&lt;br&gt;
Query Embedding&lt;br&gt;
      |&lt;br&gt;
      v&lt;br&gt;
ChromaDB Search&lt;br&gt;
      |&lt;br&gt;
      v&lt;br&gt;
Top-K Relevant Chunks&lt;br&gt;
      |&lt;br&gt;
      v&lt;br&gt;
Document + Page Metadata&lt;/p&gt;

&lt;p&gt;The current API returns the chunk text, similarity score, document information, page number, chunk ID, and source filename.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;FastAPI Backend&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The backend is implemented using FastAPI.&lt;/p&gt;

&lt;p&gt;The project provides endpoints for:&lt;/p&gt;

&lt;p&gt;Health checking&lt;br&gt;
Document ingestion&lt;br&gt;
Semantic search&lt;/p&gt;

&lt;p&gt;It also exposes Swagger documentation through:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://localhost:8000/docs" rel="noopener noreferrer"&gt;http://localhost:8000/docs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;when running locally.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Streamlit Demo&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A Streamlit interface provides a simple way to interact with the knowledge base without having to manually call API endpoints.&lt;/p&gt;

&lt;p&gt;The project can be started with:&lt;/p&gt;

&lt;p&gt;streamlit run demo/streamlit_app.py&lt;/p&gt;

&lt;p&gt;The repository also includes Docker and Docker Compose support.&lt;/p&gt;

&lt;p&gt;Why Does Open Innovation Matter?&lt;/p&gt;

&lt;p&gt;Open innovation mattered to this project because I wanted to understand how much of an AI-powered support workflow could be built using open tools rather than relying entirely on a closed AI API.&lt;/p&gt;

&lt;p&gt;The project uses open-source components for the core retrieval pipeline:&lt;/p&gt;

&lt;p&gt;Sentence Transformers for embeddings&lt;br&gt;
ChromaDB for vector storage&lt;br&gt;
FastAPI for the backend&lt;br&gt;
Streamlit for the demonstration interface&lt;/p&gt;

&lt;p&gt;This gives developers more control over the individual parts of the system.&lt;/p&gt;

&lt;p&gt;Flexibility&lt;/p&gt;

&lt;p&gt;The embedding model can be changed independently from the vector database and API layer.&lt;/p&gt;

&lt;p&gt;The retrieval system is therefore not tied to one proprietary provider.&lt;/p&gt;

&lt;p&gt;Transparency&lt;/p&gt;

&lt;p&gt;Because the retrieval pipeline is built from separate components, it is easier to understand how documents are processed, embedded, stored, and retrieved.&lt;/p&gt;

&lt;p&gt;Privacy and Control&lt;/p&gt;

&lt;p&gt;Customer-support documentation can contain information that organizations may not want to send to an external service for every search.&lt;/p&gt;

&lt;p&gt;Using locally controllable components gives developers more flexibility when designing a privacy-conscious system.&lt;/p&gt;

&lt;p&gt;Learning&lt;/p&gt;

&lt;p&gt;Building the project also helped me understand that an AI application is not just about generating text.&lt;/p&gt;

&lt;p&gt;A useful system needs:&lt;/p&gt;

&lt;p&gt;Good document processing&lt;br&gt;
Good chunking&lt;br&gt;
Meaningful embeddings&lt;br&gt;
Efficient retrieval&lt;br&gt;
Source tracking&lt;br&gt;
Testing&lt;br&gt;
A usable interface&lt;br&gt;
A Small but Important Design Choice&lt;/p&gt;

&lt;p&gt;One thing I wanted to preserve was source traceability.&lt;/p&gt;

&lt;p&gt;When a support agent gets a search result, simply returning a piece of text is not enough.&lt;/p&gt;

&lt;p&gt;The system stores metadata that can identify the original document and page.&lt;/p&gt;

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

&lt;p&gt;Document: refund_policy.pdf&lt;br&gt;
Page: 3&lt;br&gt;
Chunk: 2&lt;br&gt;
Similarity: 0.XX&lt;/p&gt;

&lt;p&gt;This makes the retrieved information easier to verify.&lt;/p&gt;

&lt;p&gt;For customer support, that matters because an answer should ideally be backed by the actual support documentation.&lt;/p&gt;

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

&lt;p&gt;The biggest lesson from building this project was that retrieval quality is extremely important in AI applications.&lt;/p&gt;

&lt;p&gt;Before working on this project, it was easy to think of an AI system mainly as a model that generates an answer.&lt;/p&gt;

&lt;p&gt;But building the retrieval pipeline showed me that the quality of the information supplied to an AI system matters just as much.&lt;/p&gt;

&lt;p&gt;If documents are poorly extracted, badly chunked, or difficult to retrieve, even a powerful language model would have difficulty producing a reliable answer.&lt;/p&gt;

&lt;p&gt;This project therefore helped me understand the foundation behind RAG systems:&lt;/p&gt;

&lt;p&gt;Documents → Chunks → Embeddings → Vector Search → Relevant Context&lt;/p&gt;

&lt;p&gt;The current implementation intentionally separates retrieval from answer generation. The repository documents how an LLM could be added after semantic search to generate a grounded support answer with citations in a future iteration.&lt;/p&gt;

&lt;p&gt;My Agent Session&lt;/p&gt;

&lt;p&gt;Optional: I did not include a DevRelay session for this submission.&lt;/p&gt;

&lt;p&gt;Prize Categories&lt;/p&gt;

&lt;p&gt;This submission is primarily for the Hacktoberfest Weekend Challenge: Build for a Friend.&lt;/p&gt;

&lt;p&gt;I am only entering additional partner categories when the required partner technology is actually used in the project.&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;I started this project with a simple problem:&lt;/p&gt;

&lt;p&gt;Customer-support information is useful only when people can find it quickly.&lt;/p&gt;

&lt;p&gt;That led me to build a searchable knowledge system that turns support documents into a semantic knowledge base.&lt;/p&gt;

&lt;p&gt;What began as a way to help someone practice customer-support workflows became a practical exploration of document processing, embeddings, vector databases, semantic search, APIs, and AI application architecture.&lt;/p&gt;

&lt;p&gt;The most important lesson for me was that building useful AI is not always about creating the biggest model.&lt;/p&gt;

&lt;p&gt;Sometimes it is about building a better path between a person's question and the information they actually need.&lt;/p&gt;

&lt;p&gt;That is what I wanted to build for my friend.&lt;/p&gt;

&lt;h1&gt;
  
  
  devchallenge #weekendchallenge #hf26challenge
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>I Built a Customer Support AI System to Help a Friend Find Answers Faster</title>
      <dc:creator>Krishna Kumar</dc:creator>
      <pubDate>Sun, 04 Oct 2026 20:09:26 +0000</pubDate>
      <link>https://dev.to/krishna_kumar_612c63ef69e/i-built-a-customer-support-ai-system-to-help-a-friend-find-answers-faster-1f37</link>
      <guid>https://dev.to/krishna_kumar_612c63ef69e/i-built-a-customer-support-ai-system-to-help-a-friend-find-answers-faster-1f37</guid>
      <description>&lt;p&gt;What I Built&lt;/p&gt;

&lt;p&gt;I built a Customer Support AI System to help a friend who was practicing customer-support workflows and needed a faster way to find accurate answers from support documentation.&lt;/p&gt;

&lt;p&gt;A common problem in customer support is that the information already exists, but finding the right piece of information can take time.&lt;/p&gt;

&lt;p&gt;Support teams may have FAQs, refund policies, account policies, payment documentation, and other reference documents spread across multiple files.&lt;/p&gt;

&lt;p&gt;Instead of manually searching through those documents, I built a system that allows support knowledge to be uploaded and searched using semantic similarity.&lt;/p&gt;

&lt;p&gt;The system can:&lt;/p&gt;

&lt;p&gt;Upload FAQ, support, policy, PDF, TXT, and Markdown documents&lt;br&gt;
Extract document text&lt;br&gt;
Clean and split the text into overlapping chunks&lt;br&gt;
Generate embeddings&lt;br&gt;
Store embeddings in ChromaDB&lt;br&gt;
Perform semantic search&lt;br&gt;
Return relevant chunks with source metadata&lt;br&gt;
Track the original document and page for retrieved information&lt;/p&gt;

&lt;p&gt;The goal is simple:&lt;/p&gt;

&lt;p&gt;Help a support agent find the right information faster.&lt;/p&gt;

&lt;p&gt;Demo&lt;/p&gt;

&lt;p&gt;The project includes a Streamlit demonstration interface for interacting with the knowledge base.&lt;/p&gt;

&lt;p&gt;Example questions&lt;/p&gt;

&lt;p&gt;The system can be tested with questions such as:&lt;/p&gt;

&lt;p&gt;How long do customers have to request a refund?&lt;br&gt;
What should I do if my account is locked?&lt;br&gt;
How quickly are password reset emails sent?&lt;br&gt;
Which payment methods are supported?&lt;br&gt;
Can a refund be requested after 30 days?&lt;/p&gt;

&lt;p&gt;The repository also provides a FastAPI backend and Swagger documentation for interacting with the API.&lt;/p&gt;

&lt;p&gt;Demo:&lt;br&gt;
&lt;a href="https://github.com/Sinjini1803/Customer-Support-System" rel="noopener noreferrer"&gt;https://github.com/Sinjini1803/Customer-Support-System&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Code&lt;/p&gt;

&lt;p&gt;The complete source code is available here:&lt;/p&gt;

&lt;p&gt;GitHub:&lt;br&gt;
&lt;a href="https://github.com/Sinjini1803/Customer-Support-System" rel="noopener noreferrer"&gt;https://github.com/Sinjini1803/Customer-Support-System&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the application code, sample data, tests, Docker configuration, ingestion pipeline, and demonstration interface.&lt;/p&gt;

&lt;p&gt;How I Built It&lt;/p&gt;

&lt;p&gt;The system is built around a Retrieval-Augmented Generation-style knowledge pipeline, with the current implementation focusing on the retrieval stage.&lt;/p&gt;

&lt;p&gt;The architecture is:&lt;/p&gt;

&lt;p&gt;Support Documents&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
Upload API&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
PDF / Text Extraction&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
Text Cleaning&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
Chunking + Overlap&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
Sentence Embeddings&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
ChromaDB&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
User Query&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
Query Embedding&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
Semantic Similarity Search&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
Top-K Relevant Chunks&lt;br&gt;
       |&lt;br&gt;
       v&lt;br&gt;
Source Metadata&lt;/p&gt;

&lt;p&gt;The repository implements PDF/text extraction using PyMuPDF, creates overlapping chunks, generates normalized embeddings using Sentence Transformers, and persists those vectors in ChromaDB.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Document Ingestion&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A support document can be uploaded through the API.&lt;/p&gt;

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

&lt;p&gt;curl -X POST &lt;a href="http://localhost:8000/ingest" rel="noopener noreferrer"&gt;http://localhost:8000/ingest&lt;/a&gt; \&lt;br&gt;
  -F "file=&lt;a class="mentioned-user" href="https://dev.to/data"&gt;@data&lt;/a&gt;/sample_documents/refund_policy.pdf"&lt;/p&gt;

&lt;p&gt;The system extracts the document content and divides it into manageable chunks.&lt;/p&gt;

&lt;p&gt;Each chunk retains metadata such as:&lt;/p&gt;

&lt;p&gt;Document ID&lt;br&gt;
Document name&lt;br&gt;
Document type&lt;br&gt;
Page number&lt;br&gt;
Chunk number&lt;br&gt;
Source filename&lt;br&gt;
Upload timestamp&lt;/p&gt;

&lt;p&gt;This means that a search result can be traced back to its original document and page.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Embeddings&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After the document is processed, the text chunks are converted into numerical vector representations using a Sentence Transformer model.&lt;/p&gt;

&lt;p&gt;This allows the system to compare the meaning of a user's question with the meaning of stored support information rather than relying only on exact keyword matches.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;ChromaDB&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The generated embeddings are stored in ChromaDB.&lt;/p&gt;

&lt;p&gt;When a user asks a question, the question is also converted into an embedding.&lt;/p&gt;

&lt;p&gt;The system then performs semantic similarity search and retrieves the most relevant chunks.&lt;/p&gt;

&lt;p&gt;User Question&lt;br&gt;
      |&lt;br&gt;
      v&lt;br&gt;
Query Embedding&lt;br&gt;
      |&lt;br&gt;
      v&lt;br&gt;
ChromaDB Search&lt;br&gt;
      |&lt;br&gt;
      v&lt;br&gt;
Top-K Relevant Chunks&lt;br&gt;
      |&lt;br&gt;
      v&lt;br&gt;
Document + Page Metadata&lt;/p&gt;

&lt;p&gt;The current API returns the chunk text, similarity score, document information, page number, chunk ID, and source filename.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;FastAPI Backend&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The backend is implemented using FastAPI.&lt;/p&gt;

&lt;p&gt;The project provides endpoints for:&lt;/p&gt;

&lt;p&gt;Health checking&lt;br&gt;
Document ingestion&lt;br&gt;
Semantic search&lt;/p&gt;

&lt;p&gt;It also exposes Swagger documentation through:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://localhost:8000/docs" rel="noopener noreferrer"&gt;http://localhost:8000/docs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;when running locally.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Streamlit Demo&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A Streamlit interface provides a simple way to interact with the knowledge base without having to manually call API endpoints.&lt;/p&gt;

&lt;p&gt;The project can be started with:&lt;/p&gt;

&lt;p&gt;streamlit run demo/streamlit_app.py&lt;/p&gt;

&lt;p&gt;The repository also includes Docker and Docker Compose support.&lt;/p&gt;

&lt;p&gt;Why Does Open Innovation Matter?&lt;/p&gt;

&lt;p&gt;Open innovation mattered to this project because I wanted to understand how much of an AI-powered support workflow could be built using open tools rather than relying entirely on a closed AI API.&lt;/p&gt;

&lt;p&gt;The project uses open-source components for the core retrieval pipeline:&lt;/p&gt;

&lt;p&gt;Sentence Transformers for embeddings&lt;br&gt;
ChromaDB for vector storage&lt;br&gt;
FastAPI for the backend&lt;br&gt;
Streamlit for the demonstration interface&lt;/p&gt;

&lt;p&gt;This gives developers more control over the individual parts of the system.&lt;/p&gt;

&lt;p&gt;Flexibility&lt;/p&gt;

&lt;p&gt;The embedding model can be changed independently from the vector database and API layer.&lt;/p&gt;

&lt;p&gt;The retrieval system is therefore not tied to one proprietary provider.&lt;/p&gt;

&lt;p&gt;Transparency&lt;/p&gt;

&lt;p&gt;Because the retrieval pipeline is built from separate components, it is easier to understand how documents are processed, embedded, stored, and retrieved.&lt;/p&gt;

&lt;p&gt;Privacy and Control&lt;/p&gt;

&lt;p&gt;Customer-support documentation can contain information that organizations may not want to send to an external service for every search.&lt;/p&gt;

&lt;p&gt;Using locally controllable components gives developers more flexibility when designing a privacy-conscious system.&lt;/p&gt;

&lt;p&gt;Learning&lt;/p&gt;

&lt;p&gt;Building the project also helped me understand that an AI application is not just about generating text.&lt;/p&gt;

&lt;p&gt;A useful system needs:&lt;/p&gt;

&lt;p&gt;Good document processing&lt;br&gt;
Good chunking&lt;br&gt;
Meaningful embeddings&lt;br&gt;
Efficient retrieval&lt;br&gt;
Source tracking&lt;br&gt;
Testing&lt;br&gt;
A usable interface&lt;br&gt;
A Small but Important Design Choice&lt;/p&gt;

&lt;p&gt;One thing I wanted to preserve was source traceability.&lt;/p&gt;

&lt;p&gt;When a support agent gets a search result, simply returning a piece of text is not enough.&lt;/p&gt;

&lt;p&gt;The system stores metadata that can identify the original document and page.&lt;/p&gt;

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

&lt;p&gt;Document: refund_policy.pdf&lt;br&gt;
Page: 3&lt;br&gt;
Chunk: 2&lt;br&gt;
Similarity: 0.XX&lt;/p&gt;

&lt;p&gt;This makes the retrieved information easier to verify.&lt;/p&gt;

&lt;p&gt;For customer support, that matters because an answer should ideally be backed by the actual support documentation.&lt;/p&gt;

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

&lt;p&gt;The biggest lesson from building this project was that retrieval quality is extremely important in AI applications.&lt;/p&gt;

&lt;p&gt;Before working on this project, it was easy to think of an AI system mainly as a model that generates an answer.&lt;/p&gt;

&lt;p&gt;But building the retrieval pipeline showed me that the quality of the information supplied to an AI system matters just as much.&lt;/p&gt;

&lt;p&gt;If documents are poorly extracted, badly chunked, or difficult to retrieve, even a powerful language model would have difficulty producing a reliable answer.&lt;/p&gt;

&lt;p&gt;This project therefore helped me understand the foundation behind RAG systems:&lt;/p&gt;

&lt;p&gt;Documents → Chunks → Embeddings → Vector Search → Relevant Context&lt;/p&gt;

&lt;p&gt;The current implementation intentionally separates retrieval from answer generation. The repository documents how an LLM could be added after semantic search to generate a grounded support answer with citations in a future iteration.&lt;/p&gt;

&lt;p&gt;My Agent Session&lt;/p&gt;

&lt;p&gt;Optional: I did not include a DevRelay session for this submission.&lt;/p&gt;

&lt;p&gt;Prize Categories&lt;/p&gt;

&lt;p&gt;This submission is primarily for the Hacktoberfest Weekend Challenge: Build for a Friend.&lt;/p&gt;

&lt;p&gt;I am only entering additional partner categories when the required partner technology is actually used in the project.&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;I started this project with a simple problem:&lt;/p&gt;

&lt;p&gt;Customer-support information is useful only when people can find it quickly.&lt;/p&gt;

&lt;p&gt;That led me to build a searchable knowledge system that turns support documents into a semantic knowledge base.&lt;/p&gt;

&lt;p&gt;What began as a way to help someone practice customer-support workflows became a practical exploration of document processing, embeddings, vector databases, semantic search, APIs, and AI application architecture.&lt;/p&gt;

&lt;p&gt;The most important lesson for me was that building useful AI is not always about creating the biggest model.&lt;/p&gt;

&lt;p&gt;Sometimes it is about building a better path between a person's question and the information they actually need.&lt;/p&gt;

&lt;p&gt;That is what I wanted to build for my friend.&lt;/p&gt;

&lt;h1&gt;
  
  
  devchallenge #weekendchallenge #hf26challenge
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>search</category>
    </item>
    <item>
      <title>New one on DEV</title>
      <dc:creator>Krishna Kumar</dc:creator>
      <pubDate>Sun, 04 Oct 2026 19:58:13 +0000</pubDate>
      <link>https://dev.to/krishna_kumar_612c63ef69e/new-one-on-dev-4j29</link>
      <guid>https://dev.to/krishna_kumar_612c63ef69e/new-one-on-dev-4j29</guid>
      <description>&lt;p&gt;First time on DEV&lt;/p&gt;

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