<?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: Kavan Bhavsar </title>
    <description>The latest articles on DEV Community by Kavan Bhavsar  (@kavanbhavsar).</description>
    <link>https://dev.to/kavanbhavsar</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%2F1299994%2F87493e29-7cce-4bd1-a1e2-12970a2dc52e.jpg</url>
      <title>DEV Community: Kavan Bhavsar </title>
      <link>https://dev.to/kavanbhavsar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kavanbhavsar"/>
    <language>en</language>
    <item>
      <title>I Built a Voice-First Grocery Agent for Bharat in 10 Days — Here's Everything I Learned</title>
      <dc:creator>Kavan Bhavsar </dc:creator>
      <pubDate>Sat, 15 Aug 2026 04:51:52 +0000</pubDate>
      <link>https://dev.to/kavanbhavsar/i-built-a-voice-first-grocery-agent-for-bharat-in-10-days-heres-everything-i-learned-1k4l</link>
      <guid>https://dev.to/kavanbhavsar/i-built-a-voice-first-grocery-agent-for-bharat-in-10-days-heres-everything-i-learned-1k4l</guid>
      <description>&lt;h2&gt;
  
  
  What I made
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Saathi&lt;/strong&gt; (साथी) — a voice AI assistant that lets your neighbourhood kirana store take orders, handle disputes, and call customers back. In Hindi. In Gujarati. In whatever you speak.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Problem and the People
&lt;/h2&gt;

&lt;p&gt;India has over 12 million kirana stores. Most of them are run by a single person — the owner — who is simultaneously billing a customer at the counter, answering a phone order, and mentally tracking which shelf ran out of Aashirvaad Atta. There is no staff for a customer support line. There is no app. There is a phone number, and there is trust built over years.&lt;/p&gt;

&lt;p&gt;The problem I chose to solve: &lt;strong&gt;what if that phone number could be answered by an intelligent voice agent, 24×7, in the customer's own language?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For the &lt;strong&gt;Voice for Bharat Challenge 2026&lt;/strong&gt;, I built &lt;strong&gt;Ratan Kirana &amp;amp; General Store's voice agent — Saathi&lt;/strong&gt; — over 10 days. Saathi can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Take grocery orders via voice, check live stock, and confirm delivery&lt;/li&gt;
&lt;li&gt;Remember returning customers and their usual orders&lt;/li&gt;
&lt;li&gt;Switch between Hindi and English mid-conversation without missing a beat&lt;/li&gt;
&lt;li&gt;Call customers back proactively for payment reminders and order confirmations&lt;/li&gt;
&lt;li&gt;Hand off disputes to a specialist agent (Sahayak) when needed&lt;/li&gt;
&lt;li&gt;Log every call outcome for the store owner's dashboard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the story of how I built it, what broke, and what I'd do differently.&lt;/p&gt;




&lt;h2&gt;
  
  
  What the Agent Does
&lt;/h2&gt;

&lt;p&gt;A customer calls (or opens the web app) and Saathi greets them. If they've called before, Saathi remembers their name, saved address, and usual order. If they're new, Saathi introduces itself warmly and asks how it can help.&lt;/p&gt;

&lt;p&gt;A typical successful flow looks like this:&lt;br&gt;
&lt;a href="https://mermaid.live/edit#pako:eNqFVG1O20AQvcqwEiKtHCs2cT4sAc0XAgVIG1utVFmKBnuxlzhes7tGpAip6hl6mV6Hk3SdEKA4qP5he9dvZt57M-t7EvKIEpdIelPQLKRDhrHARSCCDPSVo1AsZDlmCgaAEgaFVHxBxTaAVwI8RJUwqJ0jy6AX00x92IYd9lfgL2dMUb3YBvFLhM95KsuvG8SgfnjouRCQC1ygVNSARXGdULChhzJh4hYxgp5SCGGCCVvSgGxCPR3qu5ByPi_yWSGpqJW3GYueKfoaMuy74I3ORgMfPsLxdHIOJUrCt5PRdARPEXAAR5ugYb--zqwpURcmCwN6USSolC70ZIJwnKKS8JnnmL4UWuuYUlWIjGUxhE_OlgleMx68Eqs_wTXb0VLzOWoqBabARUQF2PMY-lRiBipBUwOu_zHh6MWFZwNPEDND-3aJ8Xsehagw5XFBawFBnS4g_3EqFzwqQrUxK9OGwNnpeAR7u2X87l7Fs7ddc7SQx5-_4fHXH7vrGHCjli5YnTf8woSG85k2LJxram9yBETLqhD9SgW7Wpb54PAA7AoRz58MxrPJ2AX7biurT0-cdOv1i9NtVLrklXwAb5GleJlSSJCZMKQpu6ViCaibRl8PRE5hjoKy7L3uVNqSpxjS2arjNdM0KxpPL7zR1NcPf7KeC1mROZkO63bDbjU6llNvNKyKiMlqnhIOMS5xp4I3YayHThaXmEC0kZbwmJlrtsQgsWARcZUoqEH0QC-wXJL7sk5AVEIX-kyWlSJ6hUWqdFz2oMP0of_O-WITKXgRJ8S9wlTqVZFHqDZ_p2cIzTTXAS8yRdz9zioFce_JHXEtu2s6DafdbLbabdsyyFLvNZt6r2t1W02r02ztdx8M8mNVsWE63ZZltzttp7XfdJx2--Evh8uSkg" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmermaid.ink%2Fimg%2Fpako%3AeNqFVP9Oo0AQfpVxE2PvQklBSguJev1lNFV7V8hdciFpRlhhLWVxWYw9Y3K5Z7iXudfxSW5prXpSc_wB7PLNzPd9M8s9CXlEiUsKelPSLKRDhrHARSCCDNSVo5AsZDlmEgaABQzKQvIFFdsAXgXwEGXCoHGOLINeTDP5YRt22F-Bv5wxSdViG8SvED7naVF93SAGzcNDz4WAXOACC0k1WJTXCQUTelgkTNwiRtCTEiFMMGFLGpBNqKdCfRdSzudlPisLKhrVbcaiZ4q-ggz7Lnijs9HAh49wPJ2cQ4Uq4NvJaDqCpwg4gKNN0LDfXGdWlKgLk4UGvSgStChc6BUJwnGKsoDPPMf0pdBax5TKUmQsiyF8crZK8Jrx4JVY9Qmu2Y6Sms9RUSkxBS4iKsCcx9CnBWYgE9QV4PofE45eXHg28AQx05Rvlxi_51GIElMel7QREFTpAvIfp3LBozKUG7MyZQicnY5HsLdbxe_u1Tx727W2EvL48zc8_vpjOm0NbuTSBaP7hl-Y0HA-U4aFc0XtTY6AKFk1ol-pYFfLKh8cHoBZI-L5k8F4Nhm7YN5tZfXpiZNqvXppO61al7yKD-AtshQvUwoJMh2GNGW3VCwBVdPo64HIKcxRUJa9151aW_IUQzpbdbyh63pN4-mFN5r66uFP1nNR1GROpsOm2TLtVtdoN1stoyZispqnhEOMS9yp4XUYq6EryktMINpIS3jM9DVbopFYsIi4UpRUI2qgF1gtyX1VJyAyoQt1JqtKEb3CMpUqLntQYerQf-d8sYkUvIwT4l5hWqhVmUcoN3-nZwjNFNcBLzNJXGt_lYK49-SOuIbp6O1Wu2NZdqdjGhpZqj3LUnuO4diW0bXsfedBIz9WFVt627ENs9O1O7bTtW3HevgLhueSmg%3Ftype%3Dpng" alt="Saathi voice agent order flow sequence diagram showing customer conversation, tool calls to lookup_user, lookup_catalogue, check_stock, and place_order, with responses from SQLite database" width="1421" height="1039"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When something goes wrong — a payment dispute, a missing delivery — Saathi hands off to &lt;strong&gt;Sahayak&lt;/strong&gt;, the returns specialist, with full conversation context so the customer never repeats themselves.&lt;/p&gt;


&lt;h2&gt;
  
  
  How the System Works
&lt;/h2&gt;

&lt;p&gt;The architecture is a real-time voice pipeline. Audio from the browser or phone travels through LiveKit's WebRTC infrastructure, hits a Python backend, and returns as synthesised speech — all in under 200ms for the first word.&lt;br&gt;
&lt;a href="https://mermaid.live/edit#pako:eNptUtuOmzAQ_ZWRn1o1STcJIYGHSuS-aqJmF6pKhX3wwiS4BYxsk24aVupH9Av7JTWsiFAUnuYc5pw5HvtMQh4hsclB0DwGbx6IIAP9Of6skIqnKODfn78wFfyX1PVH2MU8wyfodj-V3_D50Ztpzr3flTD1N-yIn5kCF8URxVNjNa2bnSJiHFwlkKYlzPw5Yq6HpuB6HmT8SLvDi2JWKzxBMxkKlqsS5v4KU5YxGPZGsEyojGHDFMJms72o5m8qzhOY0SSRJSz83UnpvFCREjb01Iq1qNsfChQMde_Sf-c-1J7Veb_qw8oO7ASPilDp6ouIaqZ2fn9lskgpS0pY-auqAHfr7WqXhQxpQhXTCZwEhZLXWfFFwSPKnGcSS1j720LsYUmTsMrsubWJkzEZ02rznP-gF4f1ja1Ob6y8BKdimz-yeH676ikNf2IWQbOiBlcjl1QqZ3cPH6C5UueAWSt-fUltMG-DRRusG6DNbwZxFRf0gG3Nsg1WVwakox8ri4itRIEdol-oXrqG5Fy1BUTFmGJAbF1GuKdFogISZK9altPsO-dpoxS8OMTE3tNEalTkEVU4Z7R6lBdW6KEoZrzIFLGNce1B7DN5IXZ_YPVGd6OxYZjj8aDfISfNGYbmrL5lGv2JYQ6t1w75XY-8640ssz8YT8yxaU1M0zJe_wMVGRmY" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmermaid.ink%2Fimg%2Fpako%3AeNptUtuOmzAQ_ZWRn1o1m5IAJeGhErmvmqjsQlWpZB-8YRLcAo5sk900ROpH9Av7JTWsiFAUnuYMc84cz8yJbHiMxCU7QfcJhJO1WOegPy8aF1LxDAX8-_MXRoK_SB1_BD_hOT7B3d3n8js-P4ZjnQvu_RJG0ZId8AtTEKA4oHhqpEZ1sVfEjEOgBNKshHE0QdzrphkEYQg5P9A788IY14xQ0FxuBNurEibRHDOWMzC7NsxSKhNYMoWwXK4urMkbi_MUxjRNZQnTyD8q7ReqpIQlPbZsTevyhwIFQ107i94FD7Vm9d5v-rGyA77gcbFROvoq4jpTK7-_EplmlKUlzKN5FUCwCv1aZSo3NKWKaQdeikLJa6_4quAR5Z7nEktYRKtCbGFG003lOQxqES9nMqHV5Dn_SS8KixtTHd0YeQlelW3-yOL5bdUjuvmFeQzNiBpctZxRqTz_Hj5As1Jvh3nLfr2kNpi0wbQNFg3Q4jeNBIoLusM2Z9YG8ysB0tHHymLiKlFgh-gL1UPXkJyqsjVRCWa4Jq4OY9zSIlVrss7Pmran-Q_Os4YpeLFLiLulqdSo2MdU4YTR6igvWaGbohjzIlfEdaxag7gn8krc_iej6ziWYRuWY5kDx-6QI3F7Q6fbt3uGaTu2MTANyz53yO-6q9G1LMMYOoZtDq2h3R_0zv8BW9EaCw%3Ftype%3Dpng" alt="Ratan Kirana voice agent system architecture showing audio pipeline from customer browser through LiveKit WebRTC to Deepgram STT, Gemini LLM, Python tools layer, SQLite databases, and Murf Falcon TTS" width="745" height="914"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The key components:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Speech-to-text (STT):&lt;/strong&gt; Deepgram nova-3 with &lt;code&gt;language="multi"&lt;/code&gt;. This single setting handles Hindi, English, Gujarati, and code-mixed speech like "mujhe 2 bag Atta chahiye" without any extra configuration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LLM:&lt;/strong&gt; Google Gemini 3.5 Flash Lite. Fast, cheap, and surprisingly good at following complex Hindi-language instructions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TTS:&lt;/strong&gt; Murf Falcon via the &lt;code&gt;murf-livekit&lt;/code&gt; plugin. The Anisha voice is the heart of the project — it's what makes Saathi sound like a real neighbourhood shop assistant rather than a corporate bot. The time-to-first-byte on Murf's API was consistently under 90ms, which is what makes the conversation feel natural.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-time transport:&lt;/strong&gt; LiveKit handles WebRTC for browser sessions and SIP trunking for phone calls through Linphone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Turn detection:&lt;/strong&gt; LiveKit's &lt;code&gt;MultilingualModel&lt;/code&gt; — critical for Hindi, which has different prosody patterns than English.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Features I Built, Day by Day
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Voice Pipeline &amp;amp; Personality (Days 1–2)
&lt;/h3&gt;

&lt;p&gt;The first thing I set up was the voice pipeline and Saathi's system prompt. The prompt is where personality lives. I spent a lot of time on it because a badly written prompt produces an agent that sounds robotic, invents prices, or ignores the customer's language.&lt;/p&gt;

&lt;p&gt;Key decisions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Script enforcement&lt;/strong&gt;: The prompt explicitly says "Hindi → Devanagari (नमस्ते), never romanized (never 'namaste')." Without this, the LLM defaults to romanized Hindi constantly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Short sentences&lt;/strong&gt;: "Keep each sentence under 20 words whenever possible." TTS sounds better with shorter utterances.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Guardrails&lt;/strong&gt;: Never ask for OTP, PIN, card details. Never invent a discount. Never confirm an order without stock validation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Live Catalogue &amp;amp; Stock Validation (Days 3–5)
&lt;/h3&gt;

&lt;p&gt;I built a SQLite product database with 53 kirana items — staples, oils, dairy, spices, beverages. Every order goes through two tools in sequence:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;lookup_catalogue&lt;/code&gt; — fuzzy search by name, returns price and availability&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;check_stock&lt;/code&gt; — validates the exact quantity requested&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The agent is explicitly instructed never to confirm an order based only on the catalogue. It must call &lt;code&gt;check_stock&lt;/code&gt; with the exact quantity, every time, for every product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bug I hit:&lt;/strong&gt; The LLM would call &lt;code&gt;check_stock("Sprite 750ml", 3)&lt;/code&gt; but the DB had &lt;code&gt;name = "Sprite"&lt;/code&gt; (no size suffix). The tool was using an exact-match query and returning "not found", which the agent treated as out of stock — even though 20 units sat in the DB. Fix: switched &lt;code&gt;get_product_stock()&lt;/code&gt; to use &lt;code&gt;search_products()&lt;/code&gt; which does a &lt;code&gt;LIKE&lt;/code&gt; match.&lt;/p&gt;
&lt;h3&gt;
  
  
  Customer Memory (Day 4)
&lt;/h3&gt;

&lt;p&gt;Every browser session gets a unique &lt;code&gt;user_id&lt;/code&gt; stored in localStorage. On every call, Saathi runs &lt;code&gt;lookup_user(user_id)&lt;/code&gt; first. If the customer is known, it greets them by name and mentions their usual order. If they're new, it asks for their name with explicit consent before saving anything.&lt;/p&gt;

&lt;p&gt;The consent flow matters. India has strong norms around privacy. Saathi always asks: "क्या मैं आपका नाम और पता अगली बार के लिए याद रख सकता हूँ?" and only calls &lt;code&gt;save_user_profile&lt;/code&gt; if the customer clearly says yes.&lt;/p&gt;
&lt;h3&gt;
  
  
  Outbound Calling (Day 6)
&lt;/h3&gt;

&lt;p&gt;This was the hardest day. Saathi can initiate phone calls for payment reminders, order confirmations, and delivery updates. The architecture uses LiveKit's SIP outbound trunk through Linphone.&lt;/p&gt;

&lt;p&gt;I ran into a 404 SIP error that took hours to debug. Root causes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The &lt;code&gt;outbound-trunk.json&lt;/code&gt; was missing &lt;code&gt;auth_username&lt;/code&gt; and &lt;code&gt;auth_password&lt;/code&gt; fields. Linphone's free SIP requires authenticated INVITEs.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dial.py&lt;/code&gt; was passing &lt;code&gt;sip:kavan@sip.linphone.org&lt;/code&gt; as &lt;code&gt;sip_call_to&lt;/code&gt;, but LiveKit's API expects just the username (&lt;code&gt;kavan&lt;/code&gt;) and constructs the full URI from the trunk config itself.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The call trigger is simple once the trunk is configured:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv run python src/telephony/outbound/dial.py &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--to&lt;/span&gt; kavan &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--name&lt;/span&gt; &lt;span class="s2"&gt;"Rahul"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--reason&lt;/span&gt; payment_reminder &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--metadata&lt;/span&gt; &lt;span class="s1"&gt;'{"amount": 450, "order_id": "ORD-20260811-001"}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Human Escalation &amp;amp; Agent Handoff (Days 7–9)
&lt;/h3&gt;

&lt;p&gt;This is the most architecturally interesting part of the project.&lt;/p&gt;

&lt;p&gt;Day 7 introduced a &lt;code&gt;create_escalation&lt;/code&gt; tool. When a customer reported a payment dispute or undelivered order, Saathi would log the issue and send an email to the store owner. Simple, but it meant Saathi was still trying to be a dispute resolution agent — which it isn't good at.&lt;/p&gt;

&lt;p&gt;Days 8–9 replaced this with a proper multi-agent handoff. When Saathi detects a dispute, it says "मैं आपको हमारे रिटर्न्स विशेषज्ञ से जोड़ रहा हूँ" and calls &lt;code&gt;transfer_to_returns_specialist&lt;/code&gt;. This returns a new &lt;code&gt;ReturnsAgent&lt;/code&gt; instance (named Sahayak, with the Pooja voice from Murf Falcon) along with the full conversation context:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nd"&gt;@function_tool&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;transfer_to_returns_specialist&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;RunContext&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;tuple&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Agent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Transfer the customer to the returns and refunds specialist.&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="n"&gt;returns_agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;ReturnsAgent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;chat_ctx&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat_ctx&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;copy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;exclude_instructions&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;returns_agent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Connecting you to our returns specialist now.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;chat_ctx.copy(exclude_instructions=True)&lt;/code&gt; is the key line. It passes the full conversation history — everything the customer said to Saathi — into Sahayak's context, but strips Saathi's system prompt so Sahayak runs under its own instructions. The customer never has to repeat themselves.&lt;/p&gt;

&lt;p&gt;The voice change from Anisha → Pooja makes the handoff audible without any UI change.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://mermaid.live/edit#pako:eNptUtuOmzAQ_ZWRn1o1m5IAJeGhErmvmqjsQlWpZB-8YRLcAo5sk900ROpH9Av7JTWsiFAUnuYMc84cz8yJbHiMxCU7QfcJhJO1WOegPy8aF1LxDAX8-_MXRoK_SB1_BD_hOT7B3d3n8js-P4ZjnQvu_RJG0ZId8AtTEKA4oHhqpEZ1sVfEjEOgBNKshHE0QdzrphkEYQg5P9A788IY14xQ0FxuBNurEibRHDOWMzC7NsxSKhNYMoWwXK4urMkbi_MUxjRNZQnTyD8q7ReqpIQlPbZsTevyhwIFQ107i94FD7Vm9d5v-rGyA77gcbFROvoq4jpTK7-_EplmlKUlzKN5FUCwCv1aZSo3NKWKaQdeikLJa6_4quAR5Z7nEktYRKtCbGFG003lOQxqES9nMqHV5Dn_SS8KixtTHd0YeQlelW3-yOL5bdUjuvmFeQzNiBpctZxRqTz_Hj5As1Jvh3nLfr2kNpi0wbQNFg3Q4jeNBIoLusM2Z9YG8ysB0tHHymLiKlFgh-gL1UPXkJyqsjVRCWa4Jq4OY9zSIlVrss7Pmran-Q_Os4YpeLFLiLulqdSo2MdU4YTR6igvWaGbohjzIlfEdaxag7gn8krc_iej6ziWYRuWY5kDx-6QI3F7Q6fbt3uGaTu2MTANyz53yO-6q9G1LMMYOoZtDq2h3R_0zv8BW9EaCw" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmermaid.ink%2Fimg%2Fpako%3AeNpdUcFu2zAM_RWBpxRIA6W2q8SHAVuSIYetGZLuMrswCJuutcmSIcnt2jj_XtVbcqhOJPHeI9_TEUpTEaTwaLFr2Ld9bnPNwvs5yVa986Yl-3DFrq8_DStUyg3skB0QfSPzXH_W0jXInows6eFMPIzgO2NbVMzYiuzAdtnuvWBflXn-AFxL1_WeWEWeSk_VwLbHLerK1DW7N0adzvDtCPcWtavJFt4UlnxvtStcR6VEJZ0f2D5c1-AL_gnn_TDm98fr9qNKaQk9FeRKVOil0QPbZJPNpXVs_eXqwtmMnE2LUjFUZMOa79nBG0ts96xDPmfgbgR2Cksq_jtfZ5PR-j9FmIacZQWptz1NIWQbREMLx3eBHHxDLeWQhrKiGnvlc8j1KdA61L-Mac9Ma_rHBtIalQtd31XBzlpi-MT2MrWkw-KV6bWHVCxGDUiP8BfSm1s-EyLmCY9FHC1EMoUXSOdLMbtJ5jxKRMIXEY-T0xRex618FsecLwW_jYRYLqL56Q2jxrla%3Ftype%3Dpng" alt="Multi-agent handoff diagram showing Saathi routing normal orders to order flow and disputes to Sahayak returns specialist, with escalation database and store owner email alert" width="1637" height="272"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bug I hit here:&lt;/strong&gt; I initially defined &lt;code&gt;transfer_to_returns_specialist&lt;/code&gt; as a standalone function with &lt;code&gt;self&lt;/code&gt; as its first parameter, then added it to a bare &lt;code&gt;Agent(tools=[...])&lt;/code&gt;. LiveKit's schema builder tried to introspect it as a regular function, hit &lt;code&gt;self&lt;/code&gt; as an untyped parameter, and threw &lt;code&gt;KeyError: 'self'&lt;/code&gt;. Fix: the handoff tool must be a method on a class that inherits from &lt;code&gt;Agent&lt;/code&gt;, not a standalone function.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Hardest Problems
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. SIP 404 on Outbound Calls
&lt;/h3&gt;

&lt;p&gt;Already described above. TL;DR: Linphone needs credentials in the trunk config, and LiveKit expects a bare username for &lt;code&gt;sip_call_to&lt;/code&gt;, not a full SIP URI. Two separate issues that produced the same 404 error, which made diagnosis slower.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Stock Appearing Out of Stock When It Wasn't
&lt;/h3&gt;

&lt;p&gt;The LLM would pass &lt;code&gt;"Sprite 750ml"&lt;/code&gt; to &lt;code&gt;check_stock&lt;/code&gt;, but the DB had &lt;code&gt;"Sprite"&lt;/code&gt;. The tool used an exact match, found nothing, and the agent apologised for being out of stock. Twenty units sitting there. Fixed by switching to fuzzy search (&lt;code&gt;LIKE '%sprite%'&lt;/code&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Agent Handoff KeyError: 'self'
&lt;/h3&gt;

&lt;p&gt;The handoff tool signature had &lt;code&gt;self&lt;/code&gt; as a parameter because it was meant to be a class method. When defined outside the class and passed as a standalone tool, the framework tried to build a Pydantic schema from it and couldn't resolve the &lt;code&gt;self&lt;/code&gt; type hint. Moved it inside &lt;code&gt;Assistant&lt;/code&gt; as a proper method and it worked immediately.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Hindi Script Drift
&lt;/h3&gt;

&lt;p&gt;Without explicit script enforcement in the prompt, Gemini 3.5 Flash Lite would frequently respond in romanized Hindi ("namaste", "shukriya") rather than Devanagari (नमस्ते, शुक्रिया). Added a hard rule to the system prompt: "Hindi → Devanagari, never romanized." This is especially important for TTS — Murf Falcon reads Devanagari correctly, but romanized transliteration produces mangled pronunciation.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Build and Run This
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Prerequisites
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Clone the repo&lt;/span&gt;
git clone https://github.com/KavanBhavsar35/voice-for-bharat-challenge-2026
&lt;span class="nb"&gt;cd &lt;/span&gt;murf-livekit-starter/backend

&lt;span class="c"&gt;# Install dependencies (uses uv)&lt;/span&gt;
uv &lt;span class="nb"&gt;sync&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  API Keys
&lt;/h3&gt;

&lt;p&gt;Create &lt;code&gt;backend/.env.local&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;LIVEKIT_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;wss://your-project.livekit.cloud
&lt;span class="nv"&gt;LIVEKIT_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;your_api_key
&lt;span class="nv"&gt;LIVEKIT_API_SECRET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;your_api_secret
&lt;span class="nv"&gt;DEEPGRAM_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;your_deepgram_key
&lt;span class="nv"&gt;GOOGLE_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;your_gemini_key
&lt;span class="nv"&gt;MURF_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;your_murf_key

&lt;span class="c"&gt;# For outbound calls (optional)&lt;/span&gt;
&lt;span class="nv"&gt;LIVEKIT_SIP_OUTBOUND_TRUNK_ID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;ST_your_trunk_id

&lt;span class="c"&gt;# For escalation emails (optional)&lt;/span&gt;
&lt;span class="nv"&gt;GMAIL_USER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;your_store_email@gmail.com
&lt;span class="nv"&gt;GMAIL_APP_PASSWORD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;your_app_password
&lt;span class="nv"&gt;ESCALATION_TO_EMAIL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;owner@example.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Never commit &lt;code&gt;.env.local&lt;/code&gt;. It's in &lt;code&gt;.gitignore&lt;/code&gt; by default.&lt;/p&gt;

&lt;h3&gt;
  
  
  Run the Backend
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;backend
uv run python src/agent.py dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Run the Frontend
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;frontend
npm &lt;span class="nb"&gt;install
&lt;/span&gt;npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open &lt;code&gt;http://localhost:3000&lt;/code&gt;, click the mic button, and talk to Saathi.&lt;/p&gt;

&lt;h3&gt;
  
  
  Test an Outbound Call (Optional)
&lt;/h3&gt;

&lt;p&gt;First make sure your outbound trunk is configured in LiveKit. Then:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv run python src/telephony/outbound/dial.py &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--to&lt;/span&gt; your_linphone_username &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--name&lt;/span&gt; &lt;span class="s2"&gt;"Your Name"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--reason&lt;/span&gt; customer_callback
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  What I Would Improve Next
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Real phone numbers.&lt;/strong&gt; Linphone's free SIP tier works for demos but has reliability issues. The next step is a Twilio Elastic SIP Trunk with a real Indian number, which LiveKit supports with the same configuration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gujarati support.&lt;/strong&gt; The architecture supports it — Deepgram nova-3 handles Gujarati, and Murf has Gujarati voices. The gap is the product catalogue Hindi-to-English translation map, which currently has no Gujarati entries, and the system prompt, which doesn't explicitly handle Gujarati script.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reduce the prompt size.&lt;/strong&gt; The current system prompt is enormous. A lot of the order flow logic could move into the tool docstrings, which the LLM reads anyway. A smaller prompt means faster inference and lower cost per call.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Analytics frontend.&lt;/strong&gt; The call database logs every outcome — success, failure reason, duration, order ID. Right now that data sits in SQLite. A simple dashboard on top of it would let the store owner see at a glance which calls converted and which didn't.&lt;/p&gt;




&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Repository:&lt;/strong&gt; &lt;a href="https://github.com/KavanBhavsar35/voice-for-bharat-challenge-2026" rel="noopener noreferrer"&gt;github.com/KavanBhavsar35/voice-for-bharat-challenge-2026&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Murf Falcon TTS:&lt;/strong&gt; &lt;a href="https://murf.ai/api/docs/text-to-speech-models/falcon-2" rel="noopener noreferrer"&gt;murf.ai/api/docs/text-to-speech-models/falcon-2&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LiveKit Agents:&lt;/strong&gt; &lt;a href="https://docs.livekit.io/agents" rel="noopener noreferrer"&gt;docs.livekit.io/agents&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Murf LiveKit Starter:&lt;/strong&gt; &lt;a href="https://github.com/murf-ai/murf-livekit-starter" rel="noopener noreferrer"&gt;github.com/murf-ai/murf-livekit-starter&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Built for the 10 Days of Voice Agents — VoiceForBharat Edition, August 2026.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Stack: Python · LiveKit · Deepgram nova-3 · Gemini 3.5 Flash Lite · Murf Falcon (Anisha + Pooja voices) · SQLite · Next.js&lt;/em&gt;&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>buildinpublic</category>
      <category>startup</category>
    </item>
    <item>
      <title>The Future of Cloud Computing on Data Storage</title>
      <dc:creator>Kavan Bhavsar </dc:creator>
      <pubDate>Fri, 14 Nov 2025 06:00:20 +0000</pubDate>
      <link>https://dev.to/kavanbhavsar/the-future-of-cloud-computing-on-data-storage-1egc</link>
      <guid>https://dev.to/kavanbhavsar/the-future-of-cloud-computing-on-data-storage-1egc</guid>
      <description>&lt;h2&gt;
  
  
  The Future of Cloud Computing on Data Storage
&lt;/h2&gt;

&lt;p&gt;Think back to the last time you used a USB drive or burned data onto a CD—feels like a lifetime ago, doesn’t it? The rapid shift towards cloud storage has redefined how we manage and access our data, transforming it from physical storage devices to dynamic, flexible, and secure cloud environments.&lt;/p&gt;

&lt;p&gt;With tech giants like AWS, Microsoft Azure, and Google Cloud leading the charge, cloud storage is no longer just about holding onto your photos or documents. It’s about revolutionizing the entire landscape of data accessibility, security, and scalability. And the transformation is far from over.&lt;/p&gt;

&lt;p&gt;In this article, we explore the latest trends, emerging technologies, and predictions shaping the future of cloud computing and its impact on data storage.&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%2Fimgs.search.brave.com%2FwLUt8SdMaBKnRUnlarIaZNIcMDQvZ-z_pFLBdQSmkAg%2Frs%3Afit%3A860%3A0%3A0%3A0%2Fg%3Ace%2FaHR0cHM6Ly9tZWRp%2FYS5nZXR0eWltYWdl%2Fcy5jb20vaWQvMjE2%2FMTY3NDkzOS9waG90%2Fby9jbG91ZC1jb21w%2FdXRpbmctYXJ0aWZp%2FY2lhbC1pbnRlbGxp%2FZ2VuY2UtZGF0YS1j%2FZW50ZXItbXVsdGkt%2FY2xvdWQtaHlicmlk%2FLWNsb3VkLWluZm9y%2FbWF0aW9uLmpwZz9z%2FPTYxMng2MTImdz0w%2FJms9MjAmYz1jWkJ5%2Fck84NTFEbU1VQkZM%2FU01Xa1YxRDU5MEJO%2FZGt1OWlYNE9RZ2JD%2FWElrPQ" 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%2Fimgs.search.brave.com%2FwLUt8SdMaBKnRUnlarIaZNIcMDQvZ-z_pFLBdQSmkAg%2Frs%3Afit%3A860%3A0%3A0%3A0%2Fg%3Ace%2FaHR0cHM6Ly9tZWRp%2FYS5nZXR0eWltYWdl%2Fcy5jb20vaWQvMjE2%2FMTY3NDkzOS9waG90%2Fby9jbG91ZC1jb21w%2FdXRpbmctYXJ0aWZp%2FY2lhbC1pbnRlbGxp%2FZ2VuY2UtZGF0YS1j%2FZW50ZXItbXVsdGkt%2FY2xvdWQtaHlicmlk%2FLWNsb3VkLWluZm9y%2FbWF0aW9uLmpwZz9z%2FPTYxMng2MTImdz0w%2FJms9MjAmYz1jWkJ5%2Fck84NTFEbU1VQkZM%2FU01Xa1YxRDU5MEJO%2FZGt1OWlYNE9RZ2JD%2FWElrPQ" alt="Cloud Computing Image" width="612" height="383"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Evolution of Cloud Storage in the Age of Cloud Computing
&lt;/h2&gt;

&lt;p&gt;Cloud storage has moved beyond the basics of file saving. As we edge closer to a future powered by quantum computing, the cloud’s ability to handle vast amounts of data will evolve exponentially. The next generation of cloud computing will introduce incredible advancements in speed, capacity, and security.&lt;/p&gt;

&lt;p&gt;The promise of near-instant access to petabytes of data will become reality, as cloud storage networks continue to evolve to meet the demands of an increasingly data-driven world. Whether it’s managing massive data sets or ensuring data security across various industries, cloud storage will be at the heart of it all.&lt;/p&gt;

&lt;p&gt;Moreover, reducing latency will become a major focus. Cloud providers will deploy new technologies to bring data processing closer to the user, improving real-time data access and enhancing the overall experience for both businesses and end users.&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%2Fimgs.search.brave.com%2F3L_6zqZ6NEN1UAmQOcQ1NGtXB4ftDJpHjVMGiKe1Rmw%2Frs%3Afit%3A860%3A0%3A0%3A0%2Fg%3Ace%2FaHR0cHM6Ly9tZWRp%2FYS5nZXR0eWltYWdl%2Fcy5jb20vaWQvMjE2%2FMjAyNjM2Ny9waG90%2Fby9jbG91ZC1jb21w%2FdXRpbmctc2lnbi1k%2FaWdpdGFsLXRlY2hu%2Fb2xvZ3ktZGF0YS1j%2Fb25jZXB0LW9uLWNw%2FdS5qcGc_cz02MTJ4%2FNjEyJnc9MCZrPTIw%2FJmM9My1EcWdEemtU%2FYTBRaXBPYlJiYTN1%2FX0VzUzNYU2RRSG5K%2FbFhDMTczRXVlUT0" 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%2Fimgs.search.brave.com%2F3L_6zqZ6NEN1UAmQOcQ1NGtXB4ftDJpHjVMGiKe1Rmw%2Frs%3Afit%3A860%3A0%3A0%3A0%2Fg%3Ace%2FaHR0cHM6Ly9tZWRp%2FYS5nZXR0eWltYWdl%2Fcy5jb20vaWQvMjE2%2FMjAyNjM2Ny9waG90%2Fby9jbG91ZC1jb21w%2FdXRpbmctc2lnbi1k%2FaWdpdGFsLXRlY2hu%2Fb2xvZ3ktZGF0YS1j%2Fb25jZXB0LW9uLWNw%2FdS5qcGc_cz02MTJ4%2FNjEyJnc9MCZrPTIw%2FJmM9My1EcWdEemtU%2FYTBRaXBPYlJiYTN1%2FX0VzUzNYU2RRSG5K%2FbFhDMTczRXVlUT0" alt="Future of Cloud Storage" width="612" height="344"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Trends Shaping the Future of Cloud Storage
&lt;/h2&gt;

&lt;p&gt;Several key trends are expected to shape the future of cloud storage as part of the broader cloud computing landscape:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;Edge Computing: Data Closer to You&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In contrast to traditional cloud setups, edge computing brings data storage and processing closer to the end user. This decentralized approach not only speeds up data access but also reduces the strain on networks and enhances security by keeping sensitive information localized.&lt;/p&gt;

&lt;p&gt;With edge computing, applications that require real-time processing, like autonomous vehicles and IoT devices, can leverage cloud storage for faster, more efficient decision-making. The integration of edge computing and cloud storage will drive the next wave of innovation.&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%2Fimgs.search.brave.com%2FHIiNAql5pfCM8CtxaMYSqcOXJOktH-LJICY67covYto%2Frs%3Afit%3A860%3A0%3A0%3A0%2Fg%3Ace%2FaHR0cHM6Ly90aHVt%2FYnMuZHJlYW1zdGlt%2FZS5jb20vYi9lZGdl%2FLWNvbXB1dGluZy10%2FZWNobm9sb2d5LWRl%2FY2VudHJhbGl6ZWQt%2FZGF0YS1wcm9jZXNz%2FaW5nLW1vdGlmLWFu%2FYWx5c2lzLXNvbHV0%2FaW9uLWltcHJvdmVz%2FLXNwZWVkLXJlbGlh%2FYmlsaXR5LWxvY2Fs%2FbHktNDA5MTEyMzM5%2FLmpwZw" 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%2Fimgs.search.brave.com%2FHIiNAql5pfCM8CtxaMYSqcOXJOktH-LJICY67covYto%2Frs%3Afit%3A860%3A0%3A0%3A0%2Fg%3Ace%2FaHR0cHM6Ly90aHVt%2FYnMuZHJlYW1zdGlt%2FZS5jb20vYi9lZGdl%2FLWNvbXB1dGluZy10%2FZWNobm9sb2d5LWRl%2FY2VudHJhbGl6ZWQt%2FZGF0YS1wcm9jZXNz%2FaW5nLW1vdGlmLWFu%2FYWx5c2lzLXNvbHV0%2FaW9uLWltcHJvdmVz%2FLXNwZWVkLXJlbGlh%2FYmlsaXR5LWxvY2Fs%2FbHktNDA5MTEyMzM5%2FLmpwZw" alt="Edge Computing" width="800" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;Hybrid and Multi-Cloud Environments: Flexibility and Redundancy&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The hybrid and multi-cloud approach is gaining significant traction as businesses seek greater flexibility, performance optimization, and cost-effectiveness. By using a combination of public and private cloud services, along with on-premises infrastructure, organizations can distribute workloads across various platforms to avoid data bottlenecks and reduce the risk of downtime.&lt;/p&gt;

&lt;p&gt;This trend is expected to continue growing, with cloud providers enhancing their offerings to enable seamless management across multiple cloud environments.&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%2Fimgs.search.brave.com%2Fayix6wx5O6ZQCYBy3h6fPTGOeISyRy2KlOdVEj3EztY%2Frs%3Afit%3A860%3A0%3A0%3A0%2Fg%3Ace%2FaHR0cHM6Ly9tZWRp%2FYS5pc3RvY2twaG90%2Fby5jb20vaWQvMTQx%2FODAyMzcxMi92ZWN0%2Fb3IvaHlicmlkLW5l%2FdHdvcmstcHJpdmF0%2FZS1jbG91ZC1hbmQt%2FcHVibGljLWNsb3Vk%2FLXZlY3Rvci1zdG9j%2Fay1pbGx1c3RyYXRp%2Fb24uanBnP3M9NjEy%2FeDYxMiZ3PTAmaz0y%2FMCZjPU5YR3ZfRVBJ%2FZkowR1RHb2VvX2to%2FY0VmT2IyZDRfRVJR%2FUTl3aXdjSUpLbGs9" 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%2Fimgs.search.brave.com%2Fayix6wx5O6ZQCYBy3h6fPTGOeISyRy2KlOdVEj3EztY%2Frs%3Afit%3A860%3A0%3A0%3A0%2Fg%3Ace%2FaHR0cHM6Ly9tZWRp%2FYS5pc3RvY2twaG90%2Fby5jb20vaWQvMTQx%2FODAyMzcxMi92ZWN0%2Fb3IvaHlicmlkLW5l%2FdHdvcmstcHJpdmF0%2FZS1jbG91ZC1hbmQt%2FcHVibGljLWNsb3Vk%2FLXZlY3Rvci1zdG9j%2Fay1pbGx1c3RyYXRp%2Fb24uanBnP3M9NjEy%2FeDYxMiZ3PTAmaz0y%2FMCZjPU5YR3ZfRVBJ%2FZkowR1RHb2VvX2to%2FY0VmT2IyZDRfRVJR%2FUTl3aXdjSUpLbGs9" alt="Hybrid Cloud Image" width="612" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;Quantum-Safe Encryption: Preparing for the Quantum Era&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As quantum computing makes strides, traditional encryption methods are at risk of being compromised. Quantum-safe encryption will become a crucial technology in securing cloud storage solutions. These advanced cryptographic techniques are designed to withstand quantum-level computational power, ensuring the privacy and integrity of stored data.&lt;/p&gt;

&lt;p&gt;With quantum computing on the horizon, cloud storage providers are already investing in post-quantum cryptography to safeguard sensitive data for the future.&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%2Fimgs.search.brave.com%2F3HLwt7c1997PNOHpJuTXwvLZTO-X0zqsNxlIxe06ES0%2Frs%3Afit%3A860%3A0%3A0%3A0%2Fg%3Ace%2FaHR0cHM6Ly93d3cu%2FcGFsb2FsdG9uZXR3%2Fb3Jrcy5jb20vY29u%2FdGVudC9kYW0vcGFu%2FL2VuX1VTL2ltYWdl%2Fcy9jeWJlcnBlZGlh%2FL3doYXQtaXMtcXVh%2FbnR1bS1jb21wdXRp%2FbmdzLXRocmVhdC10%2Fby1jeWJlcnNlY3Vy%2FaXR5L3doYXQtdGhl%2FLXByb21wdC1zZWN1%2Fcml0eS1zdGFjay5w%2Fbmc" 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%2Fimgs.search.brave.com%2F3HLwt7c1997PNOHpJuTXwvLZTO-X0zqsNxlIxe06ES0%2Frs%3Afit%3A860%3A0%3A0%3A0%2Fg%3Ace%2FaHR0cHM6Ly93d3cu%2FcGFsb2FsdG9uZXR3%2Fb3Jrcy5jb20vY29u%2FdGVudC9kYW0vcGFu%2FL2VuX1VTL2ltYWdl%2Fcy9jeWJlcnBlZGlh%2FL3doYXQtaXMtcXVh%2FbnR1bS1jb21wdXRp%2FbmdzLXRocmVhdC10%2Fby1jeWJlcnNlY3Vy%2FaXR5L3doYXQtdGhl%2FLXByb21wdC1zZWN1%2Fcml0eS1zdGFjay5w%2Fbmc" alt="Quantum Safe Encryption" width="860" height="484"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;Blockchain for Immutability and Integrity&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Blockchain technology is gaining popularity in cloud storage for its ability to ensure data integrity. By providing an immutable ledger of data transactions, blockchain can be used to verify that data hasn't been tampered with. This can be particularly valuable for industries like healthcare and finance, where data security and traceability are paramount.&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%2Fimgs.search.brave.com%2FiTUiq2G-AJtmsbq5Ux-WE8aqmF7JUsvCwYfhZI5gR5g%2Frs%3Afit%3A860%3A0%3A0%3A0%2Fg%3Ace%2FaHR0cHM6Ly90My5m%2FdGNkbi5uZXQvanBn%2FLzAyLzgwLzIzLzA2%2FLzM2MF9GXzI4MDIz%2FMDY3NV9VcEdTa2U2%2FMWRzMVRqRlZSUlhW%2FOE9iam81TUpBdHJT%2FRS5qcGc" 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%2Fimgs.search.brave.com%2FiTUiq2G-AJtmsbq5Ux-WE8aqmF7JUsvCwYfhZI5gR5g%2Frs%3Afit%3A860%3A0%3A0%3A0%2Fg%3Ace%2FaHR0cHM6Ly90My5m%2FdGNkbi5uZXQvanBn%2FLzAyLzgwLzIzLzA2%2FLzM2MF9GXzI4MDIz%2FMDY3NV9VcEdTa2U2%2FMWRzMVRqRlZSUlhW%2FOE9iam81TUpBdHJT%2FRS5qcGc" alt="Blockchain Image" width="720" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;Compliance and Data Privacy: Adapting to New Regulations&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As regulations around data privacy tighten, such as GDPR and CCPA, cloud providers are adapting by strengthening their compliance features. Privacy-preserving technologies like differential privacy, which anonymizes data sets, are becoming more prominent, offering organizations better ways to protect user data while maintaining the integrity of their storage systems.&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%2Fimgs.search.brave.com%2FEKQ3V2hHXHofY_xMlGPPMbOECTdDZO2Q3pR9TGFM4Ic%2Frs%3Afit%3A860%3A0%3A0%3A0%2Fg%3Ace%2FaHR0cHM6Ly9zdGF0%2FaWMudmVjdGVlenku%2FY29tL3N5c3RlbS9y%2FZXNvdXJjZXMvdGh1%2FbWJuYWlscy8wMjYv%2FNzk3LzYxNi9zbWFs%2FbC9jeWJlcnNlY3Vy%2FaXR5LWFuZC1kYXRh%2FLXByb3RlY3Rpb24t%2FaW4tdGhlLWRpZ2l0%2FYWwtYnVzaW5lc3Mt%2Fd29ybGQtZW5zdXJp%2FbmctcHJpdmFjeS1h%2FbmQtb25saW5lLXNh%2FZmV0eS1jeWJlcnNl%2FY3VyaXR5LWFuZC1w%2Fcml2YWN5LWNvbmNl%2FcHRzLXBob3RvLmpw%2FZw" 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%2Fimgs.search.brave.com%2FEKQ3V2hHXHofY_xMlGPPMbOECTdDZO2Q3pR9TGFM4Ic%2Frs%3Afit%3A860%3A0%3A0%3A0%2Fg%3Ace%2FaHR0cHM6Ly9zdGF0%2FaWMudmVjdGVlenku%2FY29tL3N5c3RlbS9y%2FZXNvdXJjZXMvdGh1%2FbWJuYWlscy8wMjYv%2FNzk3LzYxNi9zbWFs%2FbC9jeWJlcnNlY3Vy%2FaXR5LWFuZC1kYXRh%2FLXByb3RlY3Rpb24t%2FaW4tdGhlLWRpZ2l0%2FYWwtYnVzaW5lc3Mt%2Fd29ybGQtZW5zdXJp%2FbmctcHJpdmFjeS1h%2FbmQtb25saW5lLXNh%2FZmV0eS1jeWJlcnNl%2FY3VyaXR5LWFuZC1w%2Fcml2YWN5LWNvbmNl%2FcHRzLXBob3RvLmpw%2FZw" alt="Data Privacy Image Placeholder" width="622" height="350"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Predictions for the Future of Cloud Storage
&lt;/h2&gt;

&lt;p&gt;Looking ahead, here are five key predictions for the future of cloud storage in the context of cloud computing:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;Quantum-Safe Encryption Becomes the Standard&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As quantum computing evolves, quantum-safe encryption will be universally adopted to protect data in the cloud. Organizations will prioritize the implementation of post-quantum cryptography to future-proof their data storage systems and ensure compliance with upcoming standards.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;Blockchain Integration for Immutable Data Storage&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Cloud providers will increasingly incorporate blockchain technology to maintain data integrity. This will offer businesses a way to track and verify data changes, ensuring an accurate and unalterable record of stored information.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;Stronger Focus on Data Privacy and Compliance&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The future of cloud storage will see an intensified focus on protecting customer data. Cloud providers will roll out more robust features to meet evolving regulations, such as enhanced encryption, advanced user access controls, and compliance tools designed to simplify the management of global data policies.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;Wider Adoption of Hybrid and Multi-Cloud Strategies&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Multi-cloud environments will dominate the cloud storage landscape. Organizations will rely on multiple cloud providers to distribute risk, optimize performance, and ensure maximum redundancy. Cloud providers will develop better tools to simplify management across diverse platforms, reducing complexity for businesses.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;Specialized Storage Solutions for Unique Use Cases&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Cloud providers will continue to diversify their storage offerings, catering to specific needs such as high-performance computing (HPC), archival storage, and long-term data retention. These specialized solutions will be tailored to meet the demands of industries with unique storage requirements.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Greener Future for Cloud Storage
&lt;/h2&gt;

&lt;p&gt;Sustainability is becoming a priority for cloud providers. As the demand for data storage increases, so does the energy consumption of data centers. To combat this, many cloud providers are turning to renewable energy sources like wind and solar to power their operations. With advancements in energy efficiency and green technology, the cloud industry is moving towards a more sustainable future.&lt;/p&gt;

&lt;p&gt;Tech giants like AWS, Microsoft Azure, and Google Cloud have committed to running entirely on renewable energy by the end of the decade, and they’re taking proactive steps to reduce their carbon footprint. In addition, cloud providers are investing in technologies like data deduplication and compression to optimize storage and reduce energy consumption.&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%2Fimgs.search.brave.com%2FPUoZpeHZAoN9mNtkk4zJ9UcsNcMUECY2zwHHWYigshc%2Frs%3Afit%3A860%3A0%3A0%3A0%2Fg%3Ace%2FaHR0cHM6Ly9iaWdk%2FYXRhYW5hbHl0aWNz%2FbmV3cy5jb20vd3At%2FY29udGVudC91cGxv%2FYWRzLzIwMTkvMDcv%2FR3JlZW4tY2xvdWQu%2FanBn" 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%2Fimgs.search.brave.com%2FPUoZpeHZAoN9mNtkk4zJ9UcsNcMUECY2zwHHWYigshc%2Frs%3Afit%3A860%3A0%3A0%3A0%2Fg%3Ace%2FaHR0cHM6Ly9iaWdk%2FYXRhYW5hbHl0aWNz%2FbmV3cy5jb20vd3At%2FY29udGVudC91cGxv%2FYWRzLzIwMTkvMDcv%2FR3JlZW4tY2xvdWQu%2FanBn" alt="Green Cloud Image Placeholder" width="630" height="350"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Challenges on the Horizon
&lt;/h2&gt;

&lt;p&gt;While the future of cloud storage looks promising, several challenges remain that need to be addressed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security Risks&lt;/strong&gt;: As cloud storage becomes more integral to businesses, it becomes a bigger target for cyber threats. Cloud providers must continuously innovate to ensure data protection against evolving risks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data Sovereignty&lt;/strong&gt;: Navigating the complex landscape of data sovereignty laws and cross-border data transfer regulations will be crucial for global cloud providers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Integration Complexity&lt;/strong&gt;: The complexity of managing hybrid and multi-cloud environments will require new tools and approaches to simplify the process for businesses.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cost Management&lt;/strong&gt;: While cloud storage can be cost-effective, poor cost management can lead to unexpected expenses. Organizations will need robust tools to track and optimize their cloud costs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Sustainability Investments&lt;/strong&gt;: Achieving sustainability goals will require significant investments in energy-efficient data center technologies and green practices, which could impact the pricing of cloud services.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Skill Shortages&lt;/strong&gt;: As cloud computing evolves, there will be a growing demand for skilled professionals who can manage and optimize these advanced systems.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Conclusion: Embrace the Future of Cloud Storage with American Cloud
&lt;/h2&gt;

&lt;p&gt;The future of cloud storage in the age of cloud computing is exciting and full of potential. From edge computing and AI-driven data management to quantum-safe encryption and blockchain, innovations in cloud storage are transforming how businesses store, access, and protect data.&lt;/p&gt;

&lt;p&gt;By embracing these emerging trends, organizations can unlock new opportunities for growth, scalability, and data security. American Cloud is at the forefront of these advancements, offering businesses cutting-edge cloud solutions designed for speed, security, and efficiency.&lt;/p&gt;

&lt;p&gt;Ready to future-proof your data storage? Join the cloud revolution with American Cloud and experience next-level data access, enhanced security, and seamless scalability for your business.&lt;/p&gt;

</description>
      <category>cloudcomputing</category>
      <category>data</category>
      <category>aws</category>
    </item>
    <item>
      <title>Context Creator: Effortless File Selection &amp; AI Context Sharing in VS Code</title>
      <dc:creator>Kavan Bhavsar </dc:creator>
      <pubDate>Wed, 26 Feb 2025 11:22:26 +0000</pubDate>
      <link>https://dev.to/kavanbhavsar/context-creator-effortless-file-selection-ai-context-sharing-in-vs-code-9cn</link>
      <guid>https://dev.to/kavanbhavsar/context-creator-effortless-file-selection-ai-context-sharing-in-vs-code-9cn</guid>
      <description>&lt;p&gt;Have you ever needed to share code context with AI tools or teammates, but manually copying files felt like a hassle? &lt;strong&gt;Context Creator&lt;/strong&gt; is here to streamline that process!&lt;/p&gt;

&lt;p&gt;This VS Code extension lets you select multiple files using checkboxes and generate a single output file in your preferred format (.txt, .md, .json, etc.). You can exclude directories, persist selections, and even customize file headers and separators for better readability.&lt;/p&gt;

&lt;p&gt;🔥 &lt;strong&gt;Features&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;✅ Checkbox-based file selection in a dedicated sidebar&lt;br&gt;
✅ Customizable output format with headers and separators&lt;br&gt;
✅ Excludes unnecessary files (node_modules, .git, etc.)&lt;br&gt;
✅ Persists selections between sessions&lt;br&gt;
✅ Quick commands for searching, refreshing, and toggling files&lt;/p&gt;

&lt;p&gt;Perfect for AI prompts, code reviews, and documentation, Context Creator simplifies workflow and saves time. Try it now on &lt;a href="https://marketplace.visualstudio.com/items?itemName=KavanBhavsar.context-creator" rel="noopener noreferrer"&gt;VSCode&lt;/a&gt; or &lt;a href="https://github.com/KavanBhavsar35/context-creator" rel="noopener noreferrer"&gt;GitHub&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.amazonaws.com%2Fuploads%2Farticles%2Fpv808zhrz02wp7u2e0q6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpv808zhrz02wp7u2e0q6.png" alt="A file explorer UI of the Context Creator extension, displaying a directory structure with checkboxes for file selection. The interface includes options for selecting, deselecting, generating context, and searching files" width="314" height="752"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>ai</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
