<?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: Je Sai Kailash Pulipati</title>
    <description>The latest articles on DEV Community by Je Sai Kailash Pulipati (@pjsk02).</description>
    <link>https://dev.to/pjsk02</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3858711%2Fab97e391-255f-4d30-8ee5-0aedb825094d.jpg</url>
      <title>DEV Community: Je Sai Kailash Pulipati</title>
      <link>https://dev.to/pjsk02</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pjsk02"/>
    <language>en</language>
    <item>
      <title>MomCart 🛒</title>
      <dc:creator>Je Sai Kailash Pulipati</dc:creator>
      <pubDate>Sun, 24 May 2026 23:45:22 +0000</pubDate>
      <link>https://dev.to/pjsk02/momcart-10oc</link>
      <guid>https://dev.to/pjsk02/momcart-10oc</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/google-gemma-2026-05-06"&gt;Gemma 4 Challenge: Build with Gemma 4&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;MomCart: A Telegram bot that turns the daily grocery struggle in Indian households into a 30-second conversation.&lt;/p&gt;

&lt;p&gt;The problem is everywhere: my mom spends 2-3 days hand-writing the monthly pantry list on paper, photographs it, and sends it to our neighborhood shopkeeper on WhatsApp. She forgets items, sends correction messages, and the back-and-forth eats 30+ minutes for both of them. Multiply this by every mother and every small kirana shopkeeper in India and you're looking at millions of hours of friction every month friction that exists because the tools built for grocery shopping (BigBasket, Blinkit) ignore them entirely.&lt;/p&gt;

&lt;p&gt;MomCart fits the workflow they already use. Mom speaks a Hinglish voice note - "do kilo aata, ek paav haldi" and the bot adds items to a persistent cart that lives across days. She edits with natural language ("no, make it 3 kg potato"), checks the cart anytime with /cart, and only when she says "bhej do" does the order ship to the shopkeeper as a structured Telegram message with ✅ ⚠️ ❌ buttons next to each item.&lt;/p&gt;

&lt;p&gt;When the shopkeeper marks something out of stock, the bot proposes substitutes from the same category and remembers the unmet need in a wishlist so the next shopping cycle, MomCart proactively reminds mom about the items she wanted but didn't get. It's not a chatbot. It's a closed-loop agent with memory across weeks.&lt;/p&gt;

&lt;p&gt;For mothers who aren't tech-savvy: voice, photo, or text all on Telegram, no app to install. The bot replies in whatever language mix she used (English, Hindi, or Hinglish), automatically.&lt;/p&gt;

&lt;p&gt;For small shopkeepers: clean structured orders instead of WhatsApp screenshots, one-tap status updates, and zero workflow change beyond installing Telegram.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4aeyogrg7omkg1d1i4we.gif" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;dev-to-uploads.s3.amazonaws.com&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


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


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/pjsk02" rel="noopener noreferrer"&gt;
        pjsk02
      &lt;/a&gt; / &lt;a href="https://github.com/pjsk02/MomCart" rel="noopener noreferrer"&gt;
        MomCart
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;MomCart 🛒&lt;/h1&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;A Telegram bot that lets mom build a grocery list by voice, photo, or text — and ships a live packing checklist to the neighborhood shopkeeper with one-tap status buttons.&lt;/p&gt;


&lt;/blockquote&gt;

&lt;p&gt;Built for the &lt;a href="https://dev.to/challenges/gemma" rel="nofollow"&gt;DEV.to Gemma 4 Challenge&lt;/a&gt;.&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Why it exists&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;Mom currently writes the monthly pantry list by hand, photographs it, and sends the photo to the shopkeeper on WhatsApp. She forgets items, sends "addendums," and the back-and-forth takes 30+ minutes. MomCart removes the typing friction, remembers past orders, tracks out-of-stock items, and gives the shopkeeper a structured, tappable checklist.&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;How it works&lt;/h2&gt;
&lt;/div&gt;

&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;
&lt;pre class="notranslate"&gt;&lt;code&gt;Mom speaks / types / sends photo
          ↓
  faster-whisper  ←─ voice note transcribed locally
          ↓
  Gemma 4 E4B (Ollama)  ←─ parses Hinglish / Telugu / English grocery text
          ↓
  Chroma pantry DB  ←─ fuzzy-matches items to canonical catalog names
          ↓
  Notion (via MCP)  ←─ items written as Status='cart' rows
          ↓
  Mom builds cart over&lt;/code&gt;&lt;/pre&gt;…&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/pjsk02/MomCart" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Stack: Gemma 4 E4B (Ollama) · LangChain · LangGraph · MCP (Notion) · Chroma (vector memory) · faster-whisper (STT) · python-telegram-bot · zero cloud APIs, zero cost.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Gemma 4
&lt;/h2&gt;

&lt;p&gt;I chose Gemma 4 E4B (9.6 GB, 128K context, multimodal) for three reasons: it runs entirely on a laptop with no API costs, its tool-calling on τ²-bench is dramatically stronger than Gemma 3 (which mattered for the LangGraph agent loop), and crucially, its native multilingual capability handles code-mixed Hinglish without a separate translation step.&lt;/p&gt;

&lt;p&gt;Gemma 4 is load-bearing in four distinct places:&lt;/p&gt;

&lt;p&gt;Grocery parsing - Hinglish voice transcripts and free-text messages ("do kilo aata aur ek paav haldi") become validated structured JSON: [{name_en, qty, unit}], ready for canonicalization against the pantry catalog.&lt;/p&gt;

&lt;p&gt;Register matching - every reply is rewritten by Gemma to match mom's language register on a rolling basis. English in → English out. Hinglish in → Hinglish out. Code-mixed in → code-mixed out. No language detection library, just Gemma reading the last few messages.&lt;/p&gt;

&lt;p&gt;Substitution reasoning - when an item is out, Gemma reasons over the vector-retrieved candidates in the same product category and frames the proposal in the user's register.&lt;/p&gt;

&lt;p&gt;Recall and correction handling - phrases like "last time jaisa, plus do kg gud" are interpreted against vector-stored order history, and "no, make it 3 kg" triggers a re-parse without breaking the cart.&lt;/p&gt;

&lt;p&gt;Everything runs on my laptop. No API key. No data leaves the machine. And that's the point — for the mothers and shopkeepers this is built for, that's the only architecture they'd ever trust with their conversations.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>gemmachallenge</category>
      <category>gemma</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
