<?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: Kunal Garg</title>
    <description>The latest articles on DEV Community by Kunal Garg (@gargkunal).</description>
    <link>https://dev.to/gargkunal</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%2F530884%2F17baeef7-3d7b-4279-b691-1cbe3a18f30a.jpeg</url>
      <title>DEV Community: Kunal Garg</title>
      <link>https://dev.to/gargkunal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gargkunal"/>
    <language>en</language>
    <item>
      <title>How Uber Finds You a Driver in 3 Seconds (System Design Teardown)</title>
      <dc:creator>Kunal Garg</dc:creator>
      <pubDate>Thu, 16 Jul 2026 05:48:00 +0000</pubDate>
      <link>https://dev.to/gargkunal/how-uber-finds-you-a-driver-in-3-seconds-system-design-teardown-1phf</link>
      <guid>https://dev.to/gargkunal/how-uber-finds-you-a-driver-in-3-seconds-system-design-teardown-1phf</guid>
      <description>&lt;p&gt;We take it for granted. You stand in the rain, tap "Confirm Ride" on your phone, and in under three seconds, a driver is locked in.&lt;/p&gt;

&lt;p&gt;But if you look at this from a backend perspective, the scale is terrifying. In any major city, there are hundreds of thousands of active riders and drivers moving simultaneously.&lt;/p&gt;

&lt;p&gt;If you built a naive loop to calculate the distance from one rider to every active driver, sort them, and return the closest—your database would crash instantly under the load of thousands of requests per second.&lt;/p&gt;

&lt;p&gt;Here is the architectural breakdown of how Uber’s dispatch engine, DISCO, solves this massive real-time geospatial matching problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Shrinking the Search Space: Google S2 Geometry&lt;/strong&gt;&lt;br&gt;
You can't search the whole city. You have to shrink the world first.&lt;/p&gt;

&lt;p&gt;Uber solves this by dividing the physical map of the world into tiny, mathematical cells using Google's S2 Geometry Library.&lt;/p&gt;

&lt;p&gt;S2 projects the spherical Earth onto a cube, dividing it into a hierarchical grid. To make lookups incredibly fast, it maps these grid cells using a mathematical space-filling curve called a Hilbert Curve.&lt;/p&gt;

&lt;p&gt;Because of how the Hilbert Curve folds, cells that are physically next to each other in the real world have numerical IDs that are close to each other.&lt;/p&gt;

&lt;p&gt;Instead of doing complex 2D geographical math to find a driver, the Go/Java backend asks a simple, fast question: "Which driver IDs are currently sitting in cell IDs X, Y, and Z?"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Keeping Locations Fresh with WebSockets &amp;amp; Redis&lt;/strong&gt;&lt;br&gt;
A database query is only as good as its data. Since drivers are constantly moving, how does the system keep locations up-to-date without overloading a traditional disk-based database?&lt;/p&gt;

&lt;p&gt;WebSockets over HTTP: Drivers’ apps don't constantly poll the server. Instead, they maintain a persistent, always-open WebSocket connection to stream GPS pings continuously.&lt;/p&gt;

&lt;p&gt;In-Memory Storage (Redis): The incoming GPS data is immediately routed to an in-memory geospatial index (like Redis) rather than written to disk. This allows sub-millisecond read/write speeds, keeping driver locations current to the exact second.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Avoiding the Double-Booking Race Condition&lt;/strong&gt;&lt;br&gt;
What happens when two riders in the exact same block request a ride at the same millisecond, and the system matches them to the same nearby driver?&lt;/p&gt;

&lt;p&gt;Uber's dispatch system handles this at the database layer using atomic operations.&lt;/p&gt;

&lt;p&gt;When a driver is selected, the system sends an offer over their WebSocket with a ~10-second countdown. The instant the driver accepts, an atomic check-and-set operation locks that Driver ID to that specific trip ID.&lt;/p&gt;

&lt;p&gt;Because this check is atomic, only one write can succeed. If a second request comes in a millisecond later, it is rejected by the lock, and the offer gracefully cascades to the next driver on the ranked list.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Want the Full Deep Dive?&lt;/strong&gt;&lt;br&gt;
If you want to see the visual diagrams of this architecture in action—including how S2 cells map to the Hilbert Curve and how the system manages dynamic surge pricing—check out the full video teardown.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/ciQt46t2p8M"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;💬 What do you think? If you were building a real-time matching system today, would you use S2 Geometry, or would you look at alternatives like Uber's hexagonal H3 library? Let's discuss in the comments!&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>distributedsystems</category>
      <category>backend</category>
      <category>development</category>
    </item>
    <item>
      <title>Building a Full-Stack FAQ RAG Pipeline (Go, Pinecone, Ollama)</title>
      <dc:creator>Kunal Garg</dc:creator>
      <pubDate>Fri, 10 Jul 2026 05:44:30 +0000</pubDate>
      <link>https://dev.to/gargkunal/building-a-full-stack-faq-rag-pipeline-go-pinecone-ollama-4e0a</link>
      <guid>https://dev.to/gargkunal/building-a-full-stack-faq-rag-pipeline-go-pinecone-ollama-4e0a</guid>
      <description>&lt;p&gt;If you have been experimenting with AI, you probably know that building a Retrieval-Augmented Generation (RAG) pipeline in a Jupyter Notebook is relatively straightforward. But taking that concept and transforming it into a production-ready, full-stack application? That introduces a whole new set of architectural challenges.&lt;/p&gt;

&lt;p&gt;I recently built a fully localized, high-performance FAQ RAG Pipeline from scratch to solve this exact gap. In this post, I am sharing the architecture, the tech stack, and the full video breakdown.&lt;/p&gt;

&lt;p&gt;The Tech Stack&lt;br&gt;
To ensure high performance, low latency, and zero API costs for inference, I moved away from the standard Python/OpenAI stack and utilized the following tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go (Golang): The backend engine. Go is perfect for this because of its blazing-fast API performance, strong typing, and excellent concurrency model.&lt;/li&gt;
&lt;li&gt;Pinecone: The vector database. It handles the storage of our text embeddings and performs highly efficient semantic similarity searches to retrieve the right context.&lt;/li&gt;
&lt;li&gt;Ollama: The local inference engine. By running our LLMs locally with Ollama, we ensure complete data privacy and keep our operational costs at absolutely zero.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;How the Architecture Works&lt;br&gt;
The application flow solves the core problem of getting an LLM to answer questions strictly based on a provided set of FAQs, preventing hallucinations:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Context Injection: The FAQ data is chunked, converted into vector embeddings, and securely stored inside Pinecone.&lt;/li&gt;
&lt;li&gt;User Query: A user submits a question via the frontend, which hits our Go API backend.&lt;/li&gt;
&lt;li&gt;Semantic Search: The Go backend embeds the user's question and queries Pinecone to retrieve the most relevant FAQ context.&lt;/li&gt;
&lt;li&gt;Local Generation: The retrieved context and the user's original prompt are piped into Ollama, which generates a precise, conversational answer.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Watch the Full Build &amp;amp; Get the Code&lt;br&gt;
If you want to see exactly how these pieces connect—from setting up the vector database logic to writing the Go API endpoints—I recorded a complete full-stack tutorial.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/hrI8gJOw3As"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Let me know in the comments if you prefer building AI backends in Go or Python, and feel free to drop any questions about setting up Ollama locally!&lt;/p&gt;

</description>
      <category>llm</category>
      <category>rag</category>
      <category>pinecone</category>
      <category>fullstack</category>
    </item>
    <item>
      <title>What is RAG ? | Completely Explained in 10 Minutes | Hindi</title>
      <dc:creator>Kunal Garg</dc:creator>
      <pubDate>Thu, 02 Jul 2026 05:10:51 +0000</pubDate>
      <link>https://dev.to/gargkunal/what-is-rag-completely-explained-in-10-minutes-hindi-jb4</link>
      <guid>https://dev.to/gargkunal/what-is-rag-completely-explained-in-10-minutes-hindi-jb4</guid>
      <description>&lt;p&gt;Hearing "RAG" everywhere in AI but not 100% sure how it works? 🤔&lt;/p&gt;

&lt;p&gt;I just put together a quick 10-minute breakdown (in Hindi) explaining exactly what Retrieval-Augmented Generation is. No confusing jargon—just how the architecture works and how it actually stops AI from hallucinating.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/WeuxdFSIEaY"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>rag</category>
      <category>llm</category>
      <category>go</category>
      <category>gin</category>
    </item>
    <item>
      <title>🎥 Model Context Protocol (MCP) Clearly Explained in Hindi</title>
      <dc:creator>Kunal Garg</dc:creator>
      <pubDate>Mon, 06 Oct 2025 14:04:43 +0000</pubDate>
      <link>https://dev.to/gargkunal/model-context-protocol-mcp-clearly-explained-in-hindi-15fd</link>
      <guid>https://dev.to/gargkunal/model-context-protocol-mcp-clearly-explained-in-hindi-15fd</guid>
      <description>&lt;p&gt;Hey everyone! 👋&lt;/p&gt;

&lt;p&gt;I just published a new video breaking down Model Context Protocol (MCP) — the backbone for connecting LLMs, clients, and servers in a structured, efficient way.&lt;/p&gt;

&lt;p&gt;In this video, I cover:&lt;/p&gt;

&lt;p&gt;🧠 What MCP actually is&lt;/p&gt;

&lt;p&gt;🔌 How MCP servers &amp;amp; clients communicate&lt;/p&gt;

&lt;p&gt;⚙️ A small hands-on demo&lt;/p&gt;

&lt;p&gt;🚀 Intro to FastMCP&lt;/p&gt;

&lt;p&gt;If you’re exploring LLMs, AI tools, or OpenAI’s ecosystem, this video will give you a solid start.&lt;/p&gt;

&lt;p&gt;🎬 Watch here:&lt;br&gt;


  &lt;iframe src="https://www.youtube.com/embed/t7nNysvtq7M"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;Let me know what you think or what you’d like to see next! 💬&lt;/p&gt;

&lt;h1&gt;
  
  
  AI #LLM #MCP #FastMCP #OpenAI #Backend #MachineLearning #Hindi
&lt;/h1&gt;

</description>
      <category>mcp</category>
      <category>rag</category>
      <category>programming</category>
      <category>ai</category>
    </item>
    <item>
      <title>🚀 Build Google Word Docs from scratch | Go + Reactjs + Sockets | Full-Stack Project</title>
      <dc:creator>Kunal Garg</dc:creator>
      <pubDate>Sat, 10 May 2025 07:33:59 +0000</pubDate>
      <link>https://dev.to/gargkunal/build-google-word-docs-from-scratch-go-reactjs-sockets-full-stack-project-2l22</link>
      <guid>https://dev.to/gargkunal/build-google-word-docs-from-scratch-go-reactjs-sockets-full-stack-project-2l22</guid>
      <description>&lt;p&gt;In this episode, we kick off a full-stack project to build a real-time collaborative text editor like Google Docs! Using Go (backend), ReactJS (frontend), and WebSockets for live updates.&lt;br&gt;
💻 Perfect for learning full-stack development with real-time features!&lt;/p&gt;
&lt;h1&gt;
  
  
  ReactJS #Golang #FullStack #WebSockets #GoogleDocsClone
&lt;/h1&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/6gPrlsTFfAU"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>fullstack</category>
      <category>go</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Concurrency vs Parallelism | Golang | Which is better and Why?</title>
      <dc:creator>Kunal Garg</dc:creator>
      <pubDate>Sat, 15 Feb 2025 05:38:24 +0000</pubDate>
      <link>https://dev.to/gargkunal/concurrency-vs-parallelism-golang-which-is-better-and-why-m5j</link>
      <guid>https://dev.to/gargkunal/concurrency-vs-parallelism-golang-which-is-better-and-why-m5j</guid>
      <description>&lt;p&gt;In this video, I’ll dive deep into Concurrency vs Parallelism in Golang, explaining the key differences, when to use each, and which one is better for different scenarios. I'll cover various ways to implement concurrency in Golang, with practical code examples and hands-on demonstrations. Whether you're new to Go or looking to optimize your programs, this video will give you a solid understanding of how to leverage goroutines, channels, and worker pools effectively.&lt;/p&gt;

&lt;p&gt;🔹 What is Concurrency?&lt;br&gt;
🔹 What is Parallelism?&lt;br&gt;
🔹 Key Differences &amp;amp; Use Cases&lt;br&gt;
🔹 Writing Concurrent Code in Golang&lt;br&gt;
🔹 Live Code Examples &amp;amp; Best Practices&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/rfuFTc_BoBE"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Thank You!&lt;/p&gt;

</description>
      <category>go</category>
      <category>tutorial</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Golang Tutorial 18</title>
      <dc:creator>Kunal Garg</dc:creator>
      <pubDate>Sat, 28 Oct 2023 13:16:40 +0000</pubDate>
      <link>https://dev.to/gargkunal/golang-tutorial-18-4m95</link>
      <guid>https://dev.to/gargkunal/golang-tutorial-18-4m95</guid>
      <description>&lt;p&gt;🚀 Exciting new Golang Tutorial Series! 🎉 Learn Golang web development with the Gin Framework and Gorm for seamless database interactions. Watch the tutorial: &lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/kml0McsOeoQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;🔍 What You'll Learn:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Setting up Gin and initializing routes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Handling HTTP requests with Gin&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Integrating Gorm for Database Interactions&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Creating efficient RESTful APIs&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Best practices for structuring Golang web apps&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Equip yourself with the skills to build high-performance web apps! &lt;/p&gt;

&lt;p&gt;👉 Like, comment, and share. Join our Telegram channel for more:  &lt;a href="https://lnkd.in/dYFSB7cp"&gt;https://lnkd.in/dYFSB7cp&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;#Golang #WebDevelopment #Learning&lt;/p&gt;

</description>
      <category>go</category>
      <category>webdev</category>
      <category>backend</category>
      <category>development</category>
    </item>
    <item>
      <title>Golang Tutorial | Gin HTTP Framework | Golang Gin Framework | Tutorial 3</title>
      <dc:creator>Kunal Garg</dc:creator>
      <pubDate>Sat, 15 Jul 2023 13:28:52 +0000</pubDate>
      <link>https://dev.to/gargkunal/golang-tutorial-gin-http-framework-golang-gin-framework-tutorial-3-32bg</link>
      <guid>https://dev.to/gargkunal/golang-tutorial-gin-http-framework-golang-gin-framework-tutorial-3-32bg</guid>
      <description>&lt;p&gt;🚀 Exciting News! 🚀&lt;br&gt;
Are you ready to take your Golang skills to the next level? 📈 Join us for Tutorial 3 of our Golang Tutorial series, where we dive deep into the powerful Gin HTTP Framework! 🎉&lt;br&gt;
In this tutorial, we'll explore the ins and outs of the Golang Gin Framework, a lightning-fast web framework that simplifies building robust and scalable APIs. Whether you're a beginner or an experienced developer, this tutorial is packed with valuable insights and hands-on examples to help you master Gin.&lt;br&gt;
🔗 Watch the tutorial here: &lt;iframe width="710" height="399" src="https://www.youtube.com/embed/35NbK00rXic"&gt;
&lt;/iframe&gt;
&lt;br&gt;
Don't forget to subscribe to our YouTube channel for more exciting Golang tutorials, tips, and tricks! 📺&lt;br&gt;
Get ready to supercharge your Golang development skills with the Gin HTTP Framework! 💪 Don't miss out on this opportunity to level up your coding game. See you in the tutorial!&lt;/p&gt;

&lt;h1&gt;
  
  
  GolangTutorial #GinHTTPFramework #GolangGinFramework #Tutorial3 #LearnGolang #CodingCommunity
&lt;/h1&gt;

</description>
      <category>webdev</category>
      <category>go</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Go Gin Framework | Start with Routing</title>
      <dc:creator>Kunal Garg</dc:creator>
      <pubDate>Sat, 08 Jul 2023 04:05:35 +0000</pubDate>
      <link>https://dev.to/gargkunal/go-gin-framework-start-with-routing-i03</link>
      <guid>https://dev.to/gargkunal/go-gin-framework-start-with-routing-i03</guid>
      <description>&lt;p&gt;In this tutorial, you will learn about the Gin HTTP framework in Go (Golang). The Gin framework is a lightweight and fast web framework that simplifies building web applications in Go. This tutorial is the second part of a series focusing on the Gin framework. Whether you're new to Go or looking to enhance your skills, this tutorial will provide you with a step-by-step guide on using the Golang Gin Framework. Get ready to dive into the world of Go and build powerful web applications with ease!&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/vNS_A0Rw7t8"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

</description>
      <category>go</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>What is NFT?</title>
      <dc:creator>Kunal Garg</dc:creator>
      <pubDate>Fri, 25 Feb 2022 15:52:53 +0000</pubDate>
      <link>https://dev.to/gargkunal/what-is-nft-4ea2</link>
      <guid>https://dev.to/gargkunal/what-is-nft-4ea2</guid>
      <description>&lt;p&gt;Are you know about NFT? How people earns millions of rupees by NFT?&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/2r6VS8AHNCA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Just watch this video and get your all answers&lt;/p&gt;

&lt;p&gt;Thanks for watching&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>web3</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How to become Blockchain Developer ?</title>
      <dc:creator>Kunal Garg</dc:creator>
      <pubDate>Mon, 24 Jan 2022 10:23:26 +0000</pubDate>
      <link>https://dev.to/gargkunal/how-to-become-blockchain-developer--39f9</link>
      <guid>https://dev.to/gargkunal/how-to-become-blockchain-developer--39f9</guid>
      <description>&lt;p&gt;How to become blockchain developer ?&lt;/p&gt;

&lt;p&gt;Full Resources and links to learn in video&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/qZOKiOyKciA"&gt;
&lt;/iframe&gt;
&lt;br&gt;
Thanks &lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>bitcoin</category>
      <category>web3</category>
      <category>javascript</category>
    </item>
    <item>
      <title>React Input In 7 Minutes - React Forms and State Explained</title>
      <dc:creator>Kunal Garg</dc:creator>
      <pubDate>Thu, 13 Jan 2022 08:53:28 +0000</pubDate>
      <link>https://dev.to/gargkunal/react-input-in-7-minutes-react-forms-and-state-explained-ie</link>
      <guid>https://dev.to/gargkunal/react-input-in-7-minutes-react-forms-and-state-explained-ie</guid>
      <description>&lt;p&gt;Today we are going to learn about the state in React i.e. Hooks with form validation and user input&lt;br&gt;
When to use all this we will cover.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/lWENcAp1r8w"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Thanks for Watching&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>web3</category>
    </item>
  </channel>
</rss>
