<?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: Kavya Goel</title>
    <description>The latest articles on DEV Community by Kavya Goel (@coderkavyag).</description>
    <link>https://dev.to/coderkavyag</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%2F1342857%2Fd1f088a7-693f-4292-9bf3-7e96f7486cdd.png</url>
      <title>DEV Community: Kavya Goel</title>
      <link>https://dev.to/coderkavyag</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/coderkavyag"/>
    <language>en</language>
    <item>
      <title>FieldEval: Testing Gemma 4 on Real Outdoor Fieldwork Photos</title>
      <dc:creator>Kavya Goel</dc:creator>
      <pubDate>Sun, 11 Oct 2026 12:47:42 +0000</pubDate>
      <link>https://dev.to/coderkavyag/fieldeval-testing-gemma-4-on-real-outdoor-fieldwork-photos-463k</link>
      <guid>https://dev.to/coderkavyag/fieldeval-testing-gemma-4-on-real-outdoor-fieldwork-photos-463k</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When photographed flat on a table, Gemma 4 31B counts four leaves on a specimen correctly. When the phone tilts forty-five degrees and sunlight casts diagonal shadows across the stem, the count flips from four to five. On an outdoor surveyor tag, bright direct glare obscures digits that the human eye reads in half a second.&lt;/p&gt;

&lt;p&gt;These failure modes do not appear on synthetic benchmark tables. Standard vision evaluations test models on clean, centered indoor datasets under flat lighting. FieldEval is a mobile web app that takes model testing into the field.&lt;/p&gt;

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

&lt;p&gt;FieldEval is an offline-first Progressive Web App (PWA) for testing open-weight vision models on outdoor fieldwork photos. It is built for field researchers, surveyors, and gardeners who need to know if a model can handle wet leaves, high-contrast shadows, and steep camera angles before trusting it outdoors.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frekbvm9v93kzkfmzkeut.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frekbvm9v93kzkfmzkeut.png" alt=" " width="511" height="932"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The app uses two core protocols:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Commit-then-reveal&lt;/strong&gt;: You walk outside and pull a scene from the 6-scene specimen deck. You photograph the specimen, enter your answer, and tap &lt;strong&gt;"Lock my answer"&lt;/strong&gt;. Your ground truth is committed to local storage with a timestamp before the model is called. The model answers blind. Only after the model responds does the screen slap a diagonal flagging-tape banner across the photo: &lt;strong&gt;Flag Lime&lt;/strong&gt; for a match, &lt;strong&gt;Flag Pink&lt;/strong&gt; for a miss.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Paired shots&lt;/strong&gt;: You photograph each scene twice—variant A (flat lay or diffused light) and variant B (inclined angle or direct sunlight). FieldEval compares the two to compute the &lt;strong&gt;flip rate&lt;/strong&gt;: how often changing the camera angle or lighting changes the model's answer, even when the physical specimen did not change.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live Web App&lt;/strong&gt;: [TODO: Paste your live Vercel URL here, e.g. &lt;a href="https://fieldeval.vercel.app" rel="noopener noreferrer"&gt;https://fieldeval.vercel.app&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Video Walkthrough&lt;/strong&gt;: [TODO: Paste your 60-90 second demo video link here, e.g. YouTube or Loom]&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The 6-Scene Results Wall
&lt;/h3&gt;

&lt;p&gt;At the end of a walk, FieldEval displays &lt;strong&gt;The Wall&lt;/strong&gt;: a visual matrix of every scene tile showing matched, missed, and excluded shots, alongside exact Wilson 95% confidence intervals and paired flip rates.&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%2Fraw.githubusercontent.com%2FCoderKavyaG%2FFieldEval%2Fmain%2Fdocs%2Fscreenshots%2Fresults_wall.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%2Fraw.githubusercontent.com%2FCoderKavyaG%2FFieldEval%2Fmain%2Fdocs%2Fscreenshots%2Fresults_wall.png" alt="FieldEval Results Wall Placeholder" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Judges can also tap &lt;strong&gt;"Sample data from the author's field session"&lt;/strong&gt; directly on the live site to load real fieldwork observations and inspect the complete scoring breakdown without consuming API credits.&lt;/p&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/CoderKavyaG" rel="noopener noreferrer"&gt;
        CoderKavyaG
      &lt;/a&gt; / &lt;a href="https://github.com/CoderKavyaG/FieldEval" rel="noopener noreferrer"&gt;
        FieldEval
      &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;FieldEval 🌲📱&lt;/h1&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;A camera-first outdoor vision model evaluation Progressive Web App (PWA) testing open-weight models (Gemma 4 31B) against human ground truth on outdoor fieldwork photos.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Built for the &lt;strong&gt;&lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05" rel="nofollow"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What It Is&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Most vision benchmarks evaluate multimodal models on curated, high-resolution indoor datasets under flat studio lighting. Real fieldwork is different: harsh direct sunlight causes high-dynamic-range glare, foliage overlaps in dense 3D planes, and steep perspective angles compress object geometry.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;FieldEval&lt;/strong&gt; is an offline-first mobile web application that takes model evaluation outside. A field surveyor walks through a 6-scene evaluation deck, captures photographs of real physical specimens, locks their human ground-truth answer &lt;strong&gt;before&lt;/strong&gt; any model is invoked (commit-then-reveal), and then queries an open-weight vision model (&lt;strong&gt;Gemma 4 31B&lt;/strong&gt;) to measure exact-match accuracy, paired flip rates across lighting/angles, and failure boundaries.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Screenshots&lt;/h2&gt;
&lt;/div&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;1. Field Deck &amp;amp; Ground Truth&lt;/th&gt;
&lt;th&gt;2. Commit-Then-Reveal&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;/table&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/CoderKavyaG/FieldEval" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Repository&lt;/strong&gt;: &lt;a href="https://github.com/CoderKavyaG/FieldEval" rel="noopener noreferrer"&gt;https://github.com/CoderKavyaG/FieldEval&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;License&lt;/strong&gt;: MIT License (Application), Apache 2.0 (Gemma 4 model weights)&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;FieldEval is built around &lt;strong&gt;Gemma 4 31B&lt;/strong&gt; (&lt;code&gt;gemma-4-31b-it&lt;/code&gt;), an open-weight vision model released by Google DeepMind under the Apache 2.0 license.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Framework&lt;/strong&gt;: Next.js App Router (Node.js runtime) with TypeScript strict mode.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Client Storage&lt;/strong&gt;: &lt;code&gt;idb&lt;/code&gt; (IndexedDB). All full-size photos, session metadata, and human answers stay on the phone. The camera uses native &lt;code&gt;&amp;lt;input capture="environment"&amp;gt;&lt;/code&gt;, avoiding WebRTC permission prompts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Image Normalization&lt;/strong&gt;: Client-side canvas scales images to a 1024px maximum edge and re-encodes to JPEG at quality 0.82. This drops all EXIF metadata and GPS coordinates before transmission.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Server Route&lt;/strong&gt;: &lt;code&gt;POST /api/infer&lt;/code&gt; proxies requests to the Google Gemini API using &lt;code&gt;@google/genai&lt;/code&gt;. The server constructs prompts from fixed task definitions; client-supplied arbitrary prompts are rejected.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Observability&lt;/strong&gt;: &lt;code&gt;@sentry/nextjs&lt;/code&gt; traces the pipeline with four discrete spans: &lt;code&gt;validate&lt;/code&gt;, &lt;code&gt;provider_call&lt;/code&gt;, &lt;code&gt;parse&lt;/code&gt;, and &lt;code&gt;retry&lt;/code&gt;. Strict privacy rules strip API keys, request bodies, task prompts, and raw image bytes.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Open innovation is what makes FieldEval viable:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Swapping Model Sizes with One Config Change&lt;/strong&gt;: Because Gemma is open-weight, we can run Gemma 4 31B in cloud inference, swap to Gemma 4 9B with a single environment variable (&lt;code&gt;MODEL_ID&lt;/code&gt;), or point the client to a local quantized model running via Ollama without changing the application logic or data schema.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API Keys Never Touch the Phone&lt;/strong&gt;: The client never handles provider credentials. A single serverless route proxies inference with strict rate limiting.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Photos Stay on the Device&lt;/strong&gt;: In field biology, location and specimen data can be sensitive. Raw photos and GPS coordinates are never uploaded to an image hosting service or cloud database.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero Infrastructure Cost&lt;/strong&gt;: The entire system runs within free-tier serverless limits with no database fees.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  What 20 to 30 Photos Cannot Prove
&lt;/h3&gt;

&lt;p&gt;A walk of 20 to 30 photos taken by one person on one afternoon cannot prove general model capabilities across global biodiversity or varied geographic biomes.&lt;/p&gt;

&lt;p&gt;What it does prove is where specific visual boundaries collapse: specular highlights on wet surfaces, shadow-induced edge hallucination, and perspective foreshortening. By measuring paired invariance, FieldEval tests real field stability rather than synthetic benchmark claims.&lt;/p&gt;

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

&lt;p&gt;FieldEval qualifies for two partner prize categories based on technology used in the repository:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Gemma&lt;/strong&gt;: We use Google DeepMind's open-weight vision model &lt;strong&gt;Gemma 4&lt;/strong&gt; (&lt;code&gt;gemma-4-31b-it&lt;/code&gt;) via &lt;code&gt;@google/genai&lt;/code&gt; across the entire evaluation pipeline to score real physical field specimens.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Sentry Agent Tracing&lt;/strong&gt;: We instrumented the inference pipeline using &lt;strong&gt;&lt;code&gt;@sentry/nextjs&lt;/code&gt;&lt;/strong&gt; with a root trace (&lt;code&gt;FieldEval Inference Pipeline&lt;/code&gt;) and four spans (&lt;code&gt;validate&lt;/code&gt;, &lt;code&gt;provider_call&lt;/code&gt;, &lt;code&gt;parse&lt;/code&gt;, &lt;code&gt;retry&lt;/code&gt;), capturing latency, token counts, and status while enforcing strict zero-PII redaction.&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: @ccoderkavyag &lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>I built OrderMind so my friend Ishan stops rebuilding orders from WhatsApp chats</title>
      <dc:creator>Kavya Goel</dc:creator>
      <pubDate>Sun, 04 Oct 2026 11:24:21 +0000</pubDate>
      <link>https://dev.to/coderkavyag/i-built-ordermind-so-my-friend-ishan-stops-rebuilding-orders-from-whatsapp-chats-2gbn</link>
      <guid>https://dev.to/coderkavyag/i-built-ordermind-so-my-friend-ishan-stops-rebuilding-orders-from-whatsapp-chats-2gbn</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built &lt;strong&gt;OrderMind&lt;/strong&gt; for my friend &lt;strong&gt;Ishan Kumar&lt;/strong&gt;, who runs &lt;a href="https://www.instagram.com/inthebox.co.in/" rel="noopener noreferrer"&gt;InTheBox&lt;/a&gt;, a packaging company that provides consultation, design and manufacturing.&lt;/p&gt;

&lt;p&gt;Ishan's customers don't fill in structured order forms. They message him on WhatsApp and Instagram: a text, then a voice note, then a photo of a box they like, then "make it a little taller", then "actually 200 extra", then "same material as last time".&lt;/p&gt;

&lt;p&gt;The real order lives across messages and media files, and Ishan has to reconstruct it himself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In Ishan's words:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“A lot of order details are scattered across WhatsApp and Instagram, so I often have to go back through old conversations to figure out what the customer actually confirmed.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;OrderMind takes that mess and turns it into one order you can trust.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dump it in.&lt;/strong&gt; Import WhatsApp conversations, voice notes, photos and PDFs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;See what the customer actually asked for.&lt;/strong&gt; Every extracted field keeps its source evidence and is marked &lt;code&gt;CONFIRMED&lt;/code&gt;, &lt;code&gt;INFERRED&lt;/code&gt;, &lt;code&gt;MISSING&lt;/code&gt; or &lt;code&gt;CONFLICTING&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Catch problems early.&lt;/strong&gt; "Make it 1 cm taller" becomes an inferred change that Ishan can confirm. "Same material as last time" is checked against the previous order, and a mismatch is surfaced as a conflict instead of silently guessed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Follow the real business workflow.&lt;/strong&gt; Orders are handled according to InTheBox's service structure across consultation, design and manufacturing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Respect business boundaries.&lt;/strong&gt; Requests outside the business scope, such as logo creation or marketing copy, are flagged rather than being treated as packaging orders.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The core principle behind OrderMind is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI must never silently turn a guess into business truth.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9gvhwh4mkqqgzvp81h34.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9gvhwh4mkqqgzvp81h34.png" alt="Main Landing Page" width="800" height="382"&gt;&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F63uc6x3613lt629z4x6j.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F63uc6x3613lt629z4x6j.png" alt="Main WorkSpace" width="800" height="392"&gt;&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fql91bg6qvpgjoqjlxpjk.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fql91bg6qvpgjoqjlxpjk.png" alt="Chat Section - carries all the chats" width="800" height="395"&gt;&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkde81tfo5xfqdlnxyy13.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkde81tfo5xfqdlnxyy13.png" alt="Pending Conflict - Orders Page" width="800" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1NGUcwww0CgZ0oca8kAgTU7Nq2lOE4M26/view?usp=sharing" rel="noopener noreferrer"&gt;Watch the walkthrough&lt;/a&gt;&lt;/p&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/CoderKavyaG" rel="noopener noreferrer"&gt;
        CoderKavyaG
      &lt;/a&gt; / &lt;a href="https://github.com/CoderKavyaG/OrderMind" rel="noopener noreferrer"&gt;
        OrderMind
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      OrderMind is an AI-powered order intelligence platform that turns messy WhatsApp and Instagram conversations into structured, reliable, production-ready orders. It detects changes, missing details, and conflicts while preserving the context behind every order.
    &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;OrderMind — Precision Packaging Intelligence from Unstructured Customer Chats&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://nextjs.org/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/f81ef4a112639799bb512a54f86689b8b6fedebd64c49d5b28b53187e6220c53/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4e6578742e6a732d31352e352e302d626c61636b3f6c6f676f3d6e6578742e6a73" alt="Next.js"&gt;&lt;/a&gt;
&lt;a href="https://www.typescriptlang.org/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/b436d201ccc4d9306163e9938e8ced2b2b7f1425a52e150d8891e22c64bddee1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f547970655363726970742d352e302d626c75653f6c6f676f3d74797065736372697074" alt="TypeScript"&gt;&lt;/a&gt;
&lt;a href="https://ai.google.dev/gemma" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/a5890ca71ba21cb76685e4686c4b982d82734a8a4c56e715d67b263306752024/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f41495f436f72652d47656d6d615f325f283942253246323742292d6f72616e6765" alt="Gemma AI"&gt;&lt;/a&gt;
&lt;a href="https://tailwindcss.com/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/dfe92bc90989d736ab3d8b74b29725192b3692d34493801ed021368f3c8fe933/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5461696c77696e644353532d76342d3338423241433f6c6f676f3d7461696c77696e642d637373" alt="Tailwind CSS"&gt;&lt;/a&gt;
&lt;a href="https://www.mongodb.com/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/818ec31a63e7d3d4aecdd2031a3e316767d78d04d10b45e25f1b097e8758c7d9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f44617461626173652d4d6f6e676f44425f41746c61732d677265656e3f6c6f676f3d6d6f6e676f6462" alt="MongoDB"&gt;&lt;/a&gt;
&lt;a href="https://vitest.dev/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/057dc3745edc78ce54a613e2c4f5d07969bb5615685fcdfa32e35dad3b010ebe/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f54657374732d31375f5375697465735f2532465f3133365f5061737365642d627269676874677265656e" alt="Tests"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;OrderMind&lt;/strong&gt; bridges the costly disconnect between commercial sales communication (WhatsApp threads, raw voice memos, and mockup sketches) and precision manufacturing execution for packaging converters and box manufacturers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;The Problem: Why We Built OrderMind&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Packaging manufacturing is an unforgiving custom-manufacturing industry with razor-thin margins and massive financial risk:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Unstructured Communication Chaos&lt;/strong&gt;: B2B packaging clients don't submit structured ERP orders. They communicate via fragmented WhatsApp chats, audio messages on the go (&lt;em&gt;"make it 20mm taller and use the same gold foil as last month"&lt;/em&gt;), and rough photos of competitor boxes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The "Game of Telephone"&lt;/strong&gt;: Customer service reps manually summarize chats into emails for estimators. Estimators pass notes to prepress CAD technicians. Subtle change requests (&lt;em&gt;"actually change 100 to 500 pcs"&lt;/em&gt;, or &lt;em&gt;"same GSM as the festival run"&lt;/em&gt;) are missed, resulting in ₹1,00,000+ substrate waste on the…&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/CoderKavyaG/OrderMind" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


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

&lt;h3&gt;
  
  
  Open-source AI at the core: Gemma
&lt;/h3&gt;

&lt;p&gt;OrderMind uses &lt;strong&gt;Gemma&lt;/strong&gt; as the core model for understanding customer conversations and extracting structured order information.&lt;/p&gt;

&lt;p&gt;The model sits behind a small &lt;code&gt;LLMProvider&lt;/code&gt; interface, which keeps the AI layer replaceable without coupling the rest of the application to one model provider.&lt;/p&gt;

&lt;p&gt;For the deployed demo, Gemma is accessed through OpenRouter using &lt;code&gt;google/gemma-3-27b-it&lt;/code&gt;. During development, the same interface can also work with local Ollama inference.&lt;/p&gt;

&lt;p&gt;Extraction takes roughly 0.8 seconds per message in the current implementation.&lt;/p&gt;

&lt;h3&gt;
  
  
  The pipeline
&lt;/h3&gt;

&lt;p&gt;The system is deliberately split into separate stages rather than relying on one giant prompt.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Normalize every source&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;WhatsApp exports, voice notes, images and PDFs are converted into a common internal message format.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Transcribe voice notes&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Voice input is converted into text before entering the same extraction pipeline as normal messages.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Extract typed claims&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Gemma extracts structured claims from each message and resolves references such as "same as last time".&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Validate evidence&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Every extracted claim must include an exact quote from the source message. If the evidence does not exist, the claim is rejected.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Build immutable order events&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Claims become order events. The model does not directly write the current order state.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Reconstruct deterministic state&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A deterministic reducer replays the events to calculate the current order state.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Detect changes and conflicts&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Deterministic logic identifies changed values, missing fields, conflicting information and out-of-scope requests. Gemma can help phrase clarification questions, but it does not become the source of truth.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Human confirmation&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When information is uncertain or conflicting, the user reviews and confirms it before it becomes part of the canonical order.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Production handoff&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once the required information and business conditions are satisfied, OrderMind can generate a structured production brief.&lt;/p&gt;

&lt;h3&gt;
  
  
  The important architectural decision
&lt;/h3&gt;

&lt;p&gt;The most important design choice was keeping &lt;strong&gt;AI output separate from business state&lt;/strong&gt;.&lt;/p&gt;

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



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
text
Customer message
→ LLM
→ update database
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
