<?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: Rishabh Raj</title>
    <description>The latest articles on DEV Community by Rishabh Raj (@ri_rii).</description>
    <link>https://dev.to/ri_rii</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%2F4155739%2F29d72f11-7f83-4a08-b5fc-79414132b51d.jpg</url>
      <title>DEV Community: Rishabh Raj</title>
      <link>https://dev.to/ri_rii</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ri_rii"/>
    <language>en</language>
    <item>
      <title>What happens when a customer changes a 500g cake to 1kg after preparation starts? 

I built CrumbDesk to explore this problem: local Gemma AI interprets the order, while deterministic rules keep the baker in control.

Here's the stuff I learnt ;)) 👇</title>
      <dc:creator>Rishabh Raj</dc:creator>
      <pubDate>Thu, 15 Oct 2026 19:02:35 +0000</pubDate>
      <link>https://dev.to/ri_rii/what-happens-when-a-customer-changes-a-500g-cake-to-1kg-after-preparation-starts-i-built-dbm</link>
      <guid>https://dev.to/ri_rii/what-happens-when-a-customer-changes-a-500g-cake-to-1kg-after-preparation-starts-i-built-dbm</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ri_rii/crumbdesk-ai-can-read-the-cake-order-it-doesnt-get-to-run-the-bakery-3ig0" class="crayons-story__hidden-navigation-link"&gt;CrumbDesk: AI Can Read the Cake Order. It Doesn’t Get to Run the Bakery&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
      &lt;a href="https://dev.to/ri_rii/crumbdesk-ai-can-read-the-cake-order-it-doesnt-get-to-run-the-bakery-3ig0" class="crayons-article__context-note crayons-article__context-note__feed"&gt;&lt;p&gt;Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle Submission 💸&lt;/p&gt;

&lt;/a&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/ri_rii" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F4155739%2F29d72f11-7f83-4a08-b5fc-79414132b51d.jpg" alt="ri_rii profile" class="crayons-avatar__image" width="96" height="96"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/ri_rii" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Rishabh Raj
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Rishabh Raj
                
                
              
              &lt;div id="story-author-preview-content-4858038" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/ri_rii" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F4155739%2F29d72f11-7f83-4a08-b5fc-79414132b51d.jpg" class="crayons-avatar__image" alt="" width="96" height="96"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Rishabh Raj&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/ri_rii/crumbdesk-ai-can-read-the-cake-order-it-doesnt-get-to-run-the-bakery-3ig0" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Oct 15&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/ri_rii/crumbdesk-ai-can-read-the-cake-order-it-doesnt-get-to-run-the-bakery-3ig0" id="article-link-4858038"&gt;
          CrumbDesk: AI Can Read the Cake Order. It Doesn’t Get to Run the Bakery
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/hf26challenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;hf26challenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/javascript"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;javascript&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/ri_rii/crumbdesk-ai-can-read-the-cake-order-it-doesnt-get-to-run-the-bakery-3ig0" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt;&amp;nbsp;reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ri_rii/crumbdesk-ai-can-read-the-cake-order-it-doesnt-get-to-run-the-bakery-3ig0#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              1&lt;span class="hidden s:inline"&gt;&amp;nbsp;comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            6 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>ai</category>
      <category>buildinpublic</category>
      <category>gemma</category>
      <category>programming</category>
    </item>
    <item>
      <title>CrumbDesk: AI Can Read the Cake Order. It Doesn’t Get to Run the Bakery</title>
      <dc:creator>Rishabh Raj</dc:creator>
      <pubDate>Thu, 15 Oct 2026 18:55:23 +0000</pubDate>
      <link>https://dev.to/ri_rii/crumbdesk-ai-can-read-the-cake-order-it-doesnt-get-to-run-the-bakery-3ig0</link>
      <guid>https://dev.to/ri_rii/crumbdesk-ai-can-read-the-cake-order-it-doesnt-get-to-run-the-bakery-3ig0</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;A customer orders a 500g cake. The baker accepts it, buys ingredients, and starts preparing it.&lt;/p&gt;

&lt;p&gt;Then a message arrives: “Can we make that 1kg instead?”&lt;/p&gt;

&lt;p&gt;An AI model can understand that message. The difficult question is what happens next.&lt;/p&gt;

&lt;p&gt;A larger cake can affect ingredient quantities, preparation time, packaging, price, and other orders already promised. Quietly changing &lt;code&gt;500g&lt;/code&gt; to &lt;code&gt;1kg&lt;/code&gt; would erase the decision that matters.&lt;/p&gt;

&lt;p&gt;That is why I built &lt;strong&gt;CrumbDesk&lt;/strong&gt;: a local-first AI order-management tool for independent home bakers and small cottage bakeries.&lt;/p&gt;

&lt;p&gt;CrumbDesk turns manually copied customer messages into structured, reviewable order details using Gemma 3 4B through local Ollama inference. It helps surface missing details, draft clarification replies, record change proposals, and preserve the baker’s authority over accepted orders.&lt;/p&gt;

&lt;p&gt;The principle behind the project is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Let the model interpret the message. Let deterministic code enforce the rules. Let the baker make the decision.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Home bakers often manage orders through WhatsApp, Instagram, SMS, and calls. A single message can mix flavour, quantity, weight, dietary preference, pickup time, payment statements, and special notes. Once more chats arrive, those details become difficult to find and easy to overlook.&lt;/p&gt;

&lt;p&gt;CrumbDesk gives those details one dedicated workspace: orders needing review, confirmed orders, upcoming fulfilments, filters, local model status, and CSV export.&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%2Fncmoshqtx40routvqt0n.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%2Fncmoshqtx40routvqt0n.png" alt="CrumbDesk dashboard showing local Gemma 3 4B status, order totals, filters, fulfilment schedules, and payment-status labels" width="799" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;CrumbDesk’s dashboard gives the baker one local view of order status, schedules, and payment context.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The workflow starts with a deliberate boundary: the baker copies a customer message into CrumbDesk. The app does not automatically read WhatsApp or Instagram messages.&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%2Frg3a8zxjel4nuv9jicrj.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%2Frg3a8zxjel4nuv9jicrj.png" alt="CrumbDesk import-message dialog with a pasted bakery order and an Extract Order button for local Gemma 3 4B processing" width="800" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The baker pastes an informal customer message and requests structured extraction with local Gemma 3 4B.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Gemma helps identify the product, quantity, weight, date, time, dietary preference, fulfilment method, notes, and payment context. But its output is only a draft, never an accepted order.&lt;/p&gt;

&lt;p&gt;For example, “Sunday” is not silently converted into a specific calendar date without enough information. “I paid via GPay” is recorded as a customer-reported claim, not proof that money cleared in a bank account. And one cake remains separate from one kilogram.&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%2Fy66eycrhr9vbg5y5hm7u.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%2Fy66eycrhr9vbg5y5hm7u.png" alt="CrumbDesk review panel showing editable extracted cake-order details, baker clarification warnings, date fields, and payment context" width="799" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The review panel keeps extracted information editable and flags details that need baker clarification before confirmation.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If information is missing, CrumbDesk can generate an editable reply draft for the baker to copy into their chat app. This is intentionally deterministic: it uses known missing details instead of asking the model to make another unnecessary decision.&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%2Fh3opgosu54y8rumu02dw.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%2Fh3opgosu54y8rumu02dw.png" alt="CrumbDesk editable customer-reply draft explaining that the order is not yet confirmed and can be copied into a chat app" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;CrumbDesk prepares a polite, editable clarification reply without sending a message automatically.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;The demo shows the complete flow: importing a customer message, reviewing the extracted order, confirming it, recording a later change request, and preserving the result in the order history.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/Crg1VbRgU0g" rel="noopener noreferrer"&gt;Watch the CrumbDesk demo on YouTube&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The project is available here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/RishabhRaj120/CrumbY" rel="noopener noreferrer"&gt;CrumbDesk on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CrumbDesk is built with Next.js and TypeScript, local Ollama inference, validation and order-management logic, browser storage, and automated tests.&lt;/p&gt;

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

&lt;p&gt;The AI path is intentionally narrow.&lt;/p&gt;

&lt;p&gt;A baker pastes a message into CrumbDesk, and a Next.js route sends it to Gemma 3 4B running locally through Ollama. The model returns structured order data, which is then parsed, normalized, and reviewed before the baker confirms anything.&lt;/p&gt;

&lt;p&gt;The important work happens around the model output.&lt;/p&gt;

&lt;p&gt;CrumbDesk validates the distinction between quantity and weight, preserves unresolved date wording rather than guessing, and prevents payment claims from becoming payment verification. A model can extract plausible information, but it cannot know whether a baker is available, whether “Sunday” means the intended date, or whether a payment has actually cleared.&lt;/p&gt;

&lt;p&gt;Once an order is confirmed, its important details are protected. A customer change becomes a proposal, not a silent edit. The baker sees a field-level comparison and chooses whether to approve or reject it.&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%2Fbvzmug60ewd17wrs4rny.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%2Fbvzmug60ewd17wrs4rny.png" alt="CrumbDesk order-details screen showing a pending change request with a visible weight change from 500 grams to 1 kilogram" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The requested change from 500g to 1kg is visible as a proposal, while the accepted order remains protected.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The change policy is enforced by deterministic application logic. CrumbDesk calculates a deadline only when a fulfilment date and time are resolved. Once preparation starts, ordinary changes are locked. Older proposals cannot overwrite newer accepted information.&lt;/p&gt;

&lt;p&gt;A late or in-preparation request can still be considered, but it must be treated as an exception. The baker must deliberately approve it, provide a meaningful reason, and acknowledge the production risk.&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%2F6u8gvqr6tk7a8cadev51.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%2F6u8gvqr6tk7a8cadev51.png" alt="CrumbDesk exception-approval dialog requiring a baker reason and confirmation before approving a late order change" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Late changes require deliberate exception approval, a written reason, and clear acknowledgement of the production risk.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Every important action is recorded locally: creation, confirmation, change requests, decisions, and field differences. The history is not a cryptographic ledger; it is an operational record that helps the baker understand what changed and why. Orders can also be exported as CSV for kitchen preparation or record-keeping.&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%2F5rngsu3pwkxiv2k9islg.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%2F5rngsu3pwkxiv2k9islg.png" alt="CrumbDesk order change and lifecycle history showing order creation, baker confirmation, and a requested weight change" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The order history preserves the journey from creation to confirmation and change request.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Finally, the baker can configure the change cutoff. The policy is visible rather than buried inside a prompt, making the workflow inspectable and adaptable.&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%2Fxxlsitjn7kuwxkke2nqw.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%2Fxxlsitjn7kuwxkke2nqw.png" alt="CrumbDesk settings screen showing configurable order-change cutoff hours, preparation locks, local Ollama endpoint, and Gemma 3 4B connection status" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The policy screen makes change cutoffs, preparation locks, local inference status, and baker approval rules visible.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;CrumbDesk uses Gemma 3 4B through Ollama because local, open-weight inference is a practical fit for this workflow.&lt;/p&gt;

&lt;p&gt;Customer messages can contain personal details, delivery information, dietary requirements, and payment claims. A local inference path means CrumbDesk does not need a hosted AI API for extraction. It also keeps the prompt, validation rules, and post-processing logic inspectable and adaptable.&lt;/p&gt;

&lt;p&gt;Open-weight models give builders room to specialize a workflow without committing the whole product to one remote AI vendor. The model can be replaced or adjusted later, while the deterministic safeguards remain visible and testable.&lt;/p&gt;

&lt;p&gt;Local inference has trade-offs. It requires compatible hardware, Ollama installation, and a running local model. Performance depends on the machine. Browser storage still needs backups. Local inference also does not guarantee perfect extraction, absolute privacy, or universal offline operation.&lt;/p&gt;

&lt;p&gt;The point is not that local AI is always better. It is that, for this use case, the model can assist without becoming an unaccountable decision-maker.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who Would Pay for This?
&lt;/h2&gt;

&lt;p&gt;CrumbDesk is intended for independent home bakers and small cottage bakeries handling custom orders through informal chats.&lt;/p&gt;

&lt;p&gt;Today, a baker may rely on chat search, notebooks, spreadsheets, or tools designed for much larger businesses. A focused product could be valuable if it reduces missed details, makes accepted commitments easier to inspect, and prevents confusing last-minute changes.&lt;/p&gt;

&lt;p&gt;A modest subscription, paid local setup, or customization service could be a possible business model. That is a hypothesis, not a proven outcome.&lt;/p&gt;

&lt;p&gt;CrumbDesk does not yet have verified paying customers, revenue, or a completed commercial bakery pilot. Representative test messages and community conversations are useful design signals, but they do not establish commercial demand.&lt;/p&gt;

&lt;p&gt;The project currently has 67 passing automated Vitest tests, plus successful TypeScript and production-build checks. The repository also contains seven live Gemma/Ollama integration cases, but they were not successfully run in the latest environment because no local app was reachable.&lt;/p&gt;

&lt;p&gt;CrumbDesk is an honest prototype with a specific idea: AI can make a messy order easier to understand, but the person responsible for the kitchen should remain responsible for the decision.&lt;/p&gt;

&lt;p&gt;AI can read the cake order. It does not get to run the bakery.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Best Use of Gemma&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;CrumbDesk uses Gemma 3 4B through local Ollama inference to turn informal customer messages into structured order details. By combining the model with deterministic validation, order-change policies, and human review, the project demonstrates how open-weight AI can support a real-world workflow without taking control away from the person running the business.&lt;/p&gt;

</description>
      <category>hf26challenge</category>
      <category>ai</category>
      <category>devchallenge</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
