<?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: Vibudh Sharma</title>
    <description>The latest articles on DEV Community by Vibudh Sharma (@vibudhsharma24).</description>
    <link>https://dev.to/vibudhsharma24</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%2F3989371%2Fe72de8ad-1e45-4c45-b566-115eb602c28c.jpg</url>
      <title>DEV Community: Vibudh Sharma</title>
      <link>https://dev.to/vibudhsharma24</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vibudhsharma24"/>
    <language>en</language>
    <item>
      <title>Stop Thinking of LLMs as AI Models. Start Thinking of Them as Distributed Systems.</title>
      <dc:creator>Vibudh Sharma</dc:creator>
      <pubDate>Tue, 07 Jul 2026 18:01:13 +0000</pubDate>
      <link>https://dev.to/vibudhsharma24/stop-thinking-of-llms-as-ai-models-start-thinking-of-them-as-distributed-systems-1p11</link>
      <guid>https://dev.to/vibudhsharma24/stop-thinking-of-llms-as-ai-models-start-thinking-of-them-as-distributed-systems-1p11</guid>
      <description>&lt;p&gt;A few months ago, I shipped my first "production-ready" AI application.&lt;br&gt;
It worked beautifully — right up until real users showed up.&lt;br&gt;
The model wasn't the problem. The answers were good, retrieval was solid, prompts were tight. But the app felt slow, flaky, and expensive. Some requests took 15 seconds. Others just timed out. A small traffic spike backed everything up behind a handful of long-running calls. Costs crept up for reasons I couldn't explain.&lt;br&gt;
My first instinct was to blame the LLM.&lt;/p&gt;

&lt;p&gt;I was wrong.&lt;/p&gt;

&lt;p&gt;The real issue was that I'd been building an AI project when I should have been building a distributed system.&lt;br&gt;
That one shift in perspective changed everything about how I build AI applications now.&lt;/p&gt;

&lt;h2&gt;
  
  
  Most AI Tutorials Are Solving the Wrong Problem
&lt;/h2&gt;

&lt;p&gt;Scroll through YouTube or X and you'll find endless content on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better prompts&lt;/li&gt;
&lt;li&gt;Better models&lt;/li&gt;
&lt;li&gt;Better embeddings&lt;/li&gt;
&lt;li&gt;Better RAG pipelines&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All useful. None of it matters once real users show up.&lt;br&gt;
Because users don't care if you're running GPT-4, Claude, or some fine-tuned open-source model. They care about exactly three things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is it fast?&lt;/li&gt;
&lt;li&gt;Does it always work?&lt;/li&gt;
&lt;li&gt;Does it feel reliable?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of those are prompt engineering problems. They're backend engineering problems.&lt;/p&gt;

&lt;h2&gt;
  
  
  The LLM Is Just One Node in a Much Bigger System
&lt;/h2&gt;

&lt;p&gt;Most people picture an AI app as a simple straight line: user sends a message, the LLM responds. In reality, that request passes through an API gateway, authentication, a request queue, a retrieval engine and cache check running in parallel, a prompt builder, the LLM itself, post-processing, and finally a streamed response back to the user. The model is just one box in a much longer pipeline — and everything else in that chain is what actually determines whether your app feels production-grade.&lt;/p&gt;

&lt;h2&gt;
  
  
  Queues Are What Keep Your System Alive
&lt;/h2&gt;

&lt;p&gt;Picture 500 users hitting "submit" at once. If every request fires straight at the LLM API, you're going to eat rate limits for breakfast.&lt;/p&gt;

&lt;p&gt;The fix: put requests in a queue and let a controlled pool of workers drain it.&lt;/p&gt;

&lt;p&gt;Requests → Queue → Workers → LLM&lt;/p&gt;

&lt;p&gt;Queues buy you:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Resilience during traffic spikes&lt;/li&gt;
&lt;li&gt;Easy retries for failed jobs&lt;/li&gt;
&lt;li&gt;Sane handling of long-running tasks&lt;/li&gt;
&lt;li&gt;Protection for the external APIs you depend on&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Skip the queue, and your system is one bad afternoon away from falling over.&lt;/p&gt;

&lt;h2&gt;
  
  
  Caching Saves More Money Than a Smaller Model Ever Will
&lt;/h2&gt;

&lt;p&gt;Most AI apps answer the same handful of questions over and over:&lt;/p&gt;

&lt;p&gt;"Summarize this document."&lt;br&gt;
"What's our refund policy?"&lt;br&gt;
"Generate interview questions."&lt;/p&gt;

&lt;p&gt;Hitting the LLM fresh every time is just burning money.&lt;/p&gt;

&lt;p&gt;Request → Cache hit? → Yes: return instantly&lt;br&gt;
                     → No: call LLM → store the result&lt;/p&gt;

&lt;p&gt;Even a 20% cache-hit rate can meaningfully cut both cost and latency. It's not glamorous. Neither is paying for the same API call ten thousand times.&lt;/p&gt;

&lt;h2&gt;
  
  
  Streaming Makes a Slow Model Feel Instant
&lt;/h2&gt;

&lt;p&gt;If a response takes 12 seconds to generate, making users stare at a blank screen for 12 seconds feels broken — even if 12 seconds is fine by backend standards.&lt;br&gt;
Stream it instead: first token in ~1 second, then watch the rest fill in as it generates.&lt;br&gt;
The total generation time doesn't change. The perceived speed does — dramatically. Sometimes UX beats raw throughput.&lt;/p&gt;

&lt;h2&gt;
  
  
  Batching Cuts Costs Quietly
&lt;/h2&gt;

&lt;p&gt;Generating embeddings for 100 documents one at a time means 100 API calls. Batch them into one request instead.&lt;br&gt;
Less network overhead, better throughput — the same principle that's powered distributed systems for years works just as well on AI workloads.&lt;/p&gt;

&lt;h2&gt;
  
  
  Retries Need to Be Smart, Not Just Persistent
&lt;/h2&gt;

&lt;p&gt;APIs fail. Networks blip. Rate limits happen. Retrying immediately just hammers a struggling system harder.&lt;br&gt;
Use exponential backoff instead — 1s, 2s, 4s, 8s — and your system gets dramatically more resilient for free.&lt;/p&gt;

&lt;h2&gt;
  
  
  Observability Beats Logging Errors
&lt;/h2&gt;

&lt;p&gt;Logging only failures isn't observability. What you actually want answered:&lt;br&gt;
Which prompts are slowest?&lt;br&gt;
Which model is costing the most?&lt;br&gt;
What's your failure rate?&lt;br&gt;
Which customers burn the most tokens?&lt;br&gt;
How much latency comes from retrieval vs. the LLM itself?&lt;br&gt;
Which prompt version actually performs better?&lt;br&gt;
No observability means you're guessing. With it, you're optimizing.&lt;br&gt;
Fault Tolerance Beats Model Accuracy&lt;br&gt;
If your primary LLM provider goes down, does your app go down with it — or does it quietly fail over to another model?&lt;/p&gt;

&lt;p&gt;Call GPT → Success? → Yes: return response&lt;br&gt;
                    → No: fall back to another model → return response&lt;/p&gt;

&lt;p&gt;Users care about getting a good answer. They don't care — and mostly don't know — which model produced it.&lt;br&gt;
AI Engineers Are Quietly Turning Into Backend Engineers&lt;br&gt;
A year ago, prompt engineering felt like the skill to have. Today, the teams shipping real production AI systems spend most of their time on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Latency&lt;/li&gt;
&lt;li&gt;Concurrency&lt;/li&gt;
&lt;li&gt;Caching&lt;/li&gt;
&lt;li&gt;Retries&lt;/li&gt;
&lt;li&gt;Monitoring&lt;/li&gt;
&lt;li&gt;Rate limits&lt;/li&gt;
&lt;li&gt;Scaling&lt;/li&gt;
&lt;li&gt;Distributed workers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The model is becoming infrastructure. The engineering wrapped around it is becoming the actual differentiator.&lt;/p&gt;

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

&lt;p&gt;The lesson took me a while to internalize, but it's simple: building AI products isn't about picking the smartest model. It's about designing systems that stay fast, reliable, and affordable when thousands of real people depend on them.&lt;br&gt;
Prompts will keep improving. Models will keep getting cheaper. Context windows will keep growing.&lt;br&gt;
But queues, caching, retries, streaming, observability, and fault tolerance have been solving distributed systems problems for decades — and they're quietly becoming the actual foundation of every serious AI application.&lt;br&gt;
If you're learning AI right now, spend as much time on backend engineering as you do on LLMs. Future-you, at 2am during an outage, will be grateful.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>distributedsystems</category>
      <category>systemdesign</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Hello Dev Community 👋</title>
      <dc:creator>Vibudh Sharma</dc:creator>
      <pubDate>Mon, 22 Jun 2026 21:52:23 +0000</pubDate>
      <link>https://dev.to/vibudhsharma24/hello-dev-community-3314</link>
      <guid>https://dev.to/vibudhsharma24/hello-dev-community-3314</guid>
      <description>&lt;p&gt;Hi everyone,&lt;/p&gt;

&lt;p&gt;I'm Vibudh, a software engineer from India who enjoys building things with code and constantly learning new technologies.&lt;/p&gt;

&lt;p&gt;I have graduated with a degree in Computer Science, and over the last few years I've spent most of my time working on backend systems, artificial intelligence, cloud technologies, and software products. I've built everything from AI-powered assistants and retrieval systems to automation platforms and scalable web applications. What excites me the most is taking an idea and turning it into something that people can actually use.&lt;/p&gt;

&lt;p&gt;A lot of my recent work has been around AI. I've worked on projects involving large language models, machine learning pipelines, retrieval-augmented generation systems, and intelligent automation. At the same time, I enjoy the engineering side of things just as much. Designing APIs, working with databases, deploying applications to the cloud, and solving performance problems are the kinds of challenges I genuinely enjoy.&lt;/p&gt;

&lt;p&gt;So why am I here?&lt;/p&gt;

&lt;p&gt;I've always liked writing.&lt;/p&gt;

&lt;p&gt;Whenever I learn something interesting, solve a difficult bug, build a new project, or discover a better way to do something, I usually end up taking notes about it. Writing helps me organize my thoughts and understand topics more deeply. Over time, I realized that those notes might also help someone else who's learning the same things.&lt;/p&gt;

&lt;p&gt;That's what brings me to this platform.&lt;/p&gt;

&lt;p&gt;I think this is one of the best places for developers to share knowledge. There are people here from different backgrounds, working on different technologies, but everyone is connected by the same curiosity to build, learn, and improve. I've personally learned a lot from articles written by other developers, and now I'd like to contribute back to the community.&lt;/p&gt;

&lt;p&gt;Through my posts, I'll be sharing things I'm working on, lessons I've learned while building projects, experiences with AI and software engineering, system design concepts, cloud technologies, and sometimes even mistakes that taught me valuable lessons.&lt;/p&gt;

&lt;p&gt;I'm still learning every day, and I don't claim to have all the answers. This blog is simply a place where I can document my journey, share what I discover, and connect with other people who enjoy building things.&lt;/p&gt;

&lt;p&gt;If you're interested in AI, software engineering, startups, backend development, cloud technologies, or just enjoy discussing tech in general, feel free to say hello.&lt;/p&gt;

&lt;p&gt;Looking forward to learning from all of you and contributing to the community.&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>backend</category>
      <category>community</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
