<?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: Shivam</title>
    <description>The latest articles on DEV Community by Shivam (@shivamgravity).</description>
    <link>https://dev.to/shivamgravity</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%2F2274616%2F0fc1a6af-0e0a-4f6a-afe9-49588bc76fc9.jpg</url>
      <title>DEV Community: Shivam</title>
      <link>https://dev.to/shivamgravity</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shivamgravity"/>
    <language>en</language>
    <item>
      <title>PhyInvoice AI: Local-First Freelance Billing, Scope-Leakage &amp; Dispute-Proof Invoice Engine</title>
      <dc:creator>Shivam</dc:creator>
      <pubDate>Mon, 19 Oct 2026 06:43:30 +0000</pubDate>
      <link>https://dev.to/shivamgravity/phyinvoice-ai-local-first-freelance-billing-scope-leakage-dispute-proof-invoice-engine-3h0m</link>
      <guid>https://dev.to/shivamgravity/phyinvoice-ai-local-first-freelance-billing-scope-leakage-dispute-proof-invoice-engine-3h0m</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;&lt;strong&gt;PhyInvoice AI&lt;/strong&gt; is an autonomous, local-first billing copilot and revenue defense engine built for freelancers, contractors, and side-hustlers.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Problem
&lt;/h3&gt;

&lt;p&gt;Every week, millions of solo freelancers and contractors lose &lt;strong&gt;15% to 20% of their billable earnings&lt;/strong&gt; due to three recurring problems:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Unbilled Micro-Tasks&lt;/strong&gt;: Freelancers scribble 3-word notes while working (&lt;code&gt;"fixing jwt auth"&lt;/code&gt;, &lt;code&gt;"quick sync with Dave"&lt;/code&gt;, &lt;code&gt;"css glitch"&lt;/code&gt;). At the end of the week, they spend hours untangling what they actually did or under-bill out of hesitation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Disputed Vague Invoices&lt;/strong&gt;: Clients push back on generic timesheets like &lt;em&gt;"Debugging — 4.5 hrs ($382)"&lt;/em&gt;, demanding detailed justification of deliverable value.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Silent Scope Creep&lt;/strong&gt;: Unplanned Slack requests and ad-hoc revisions silently drain project budgets until the freelancer is working for free.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Client NDA Wall&lt;/strong&gt;: Freelancers operate under strict client NDAs. Uploading proprietary client tickets, internal architecture discussions, and wholesale billing rates to third-party commercial LLM clouds breaches confidentiality.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Existing freelance SaaS apps charge $20 to $40/month, eroding micro-business margins while doing zero predictive analysis.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Solution
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;PhyInvoice AI&lt;/strong&gt; combines &lt;strong&gt;open-weight language intelligence&lt;/strong&gt; with &lt;strong&gt;zero-shot tabular forecasting&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🧠 &lt;strong&gt;Google Gemma (Gemma, Gemma 2, Gemma 3)&lt;/strong&gt;: Automatically detects any locally available Gemma model via Ollama to transform raw developer notes into professional, legally defensible client deliverable statements (e.g. &lt;em&gt;"Resolved asynchronous JWT authentication token refresh race condition on WebKit/Safari viewports"&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;📊 &lt;strong&gt;Prior Labs TabPFN-3.5&lt;/strong&gt;: A tabular foundation model that monitors historical session duration variance, off-hours firefighting, and task divergence to &lt;strong&gt;forecast budget overruns and unbilled revenue leakage before they occur&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;⏱️ &lt;strong&gt;Deterministic Agency Billing Engine&lt;/strong&gt;: Enforces legal &amp;amp; agency standard tenth-hour (&lt;code&gt;6-minute / 0.1h&lt;/code&gt;) and quarter-hour (&lt;code&gt;15-minute / 0.25h&lt;/code&gt;) rounding increments, calculating real Effective Hourly Rates (EHR).&lt;/li&gt;
&lt;li&gt;📄 &lt;strong&gt;Dispute-Proof Invoicing &amp;amp; PDF Export&lt;/strong&gt;: Select unbilled sessions, preview formatted deliverables, and generate print-ready, professional client invoices in seconds.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Who Would Pay For It?
&lt;/h3&gt;

&lt;p&gt;Independent developers, freelance designers, marketing consultants, and trade subcontractors. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pricing Model&lt;/strong&gt;: $19/month or $49 lifetime.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The ROI Math&lt;/strong&gt;: Recovering just &lt;strong&gt;1 unbilled hour&lt;/strong&gt; ($75–$150/hr) or preventing a single unpaid scope dispute immediately pays for the product multiple times over.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Live Demo Web App&lt;/strong&gt;: &lt;a href="https://phyinvoice-ai.onrender.com" rel="noopener noreferrer"&gt;https://phyinvoice-ai.onrender.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Tip: Disconnect your Wi-Fi while running the demo. All local ML models, TabPFN feature engineering, and IndexedDB storage run 100% on your laptop.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Key User Flows in the Demo:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Live Floating Tracker&lt;/strong&gt;: Start tracking with client/project selector and billable toggle. Watch the timer calculate real-time 15-minute agency rounding and projected earnings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prior Labs TabPFN Scope Radar&lt;/strong&gt;: Review projects flagged with High/Medium overrun risks, complete with diagnostic reasons (e.g., &lt;em&gt;"Budget 95% exhausted with 40% of tasks flagged with out-of-scope keywords"&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google Gemma Deliverable Synthesis&lt;/strong&gt;: Click &lt;strong&gt;"Polish with Gemma"&lt;/strong&gt; to watch informal developer notes instantly rewrite into client-ready deliverable line items using whichever Gemma model is installed locally.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1-Click Invoice Generator&lt;/strong&gt;: Select client, review line items, apply tax, and generate a print-ready PDF invoice.&lt;/li&gt;
&lt;/ol&gt;




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

&lt;p&gt;Here is the codebase on github: &lt;a href="https://github.com/shivamgravity/phyinvoice-ai" rel="noopener noreferrer"&gt;phyinvoice-ai github repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is fully open source under the &lt;strong&gt;MIT License&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Codebase Highlights:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;src/services/gemmaService.ts&lt;/code&gt;: Google Gemma prompt engineering turn format &lt;code&gt;&amp;lt;start_of_turn&amp;gt;user ... &amp;lt;end_of_turn&amp;gt;&lt;/code&gt; with local Ollama streaming + deterministic offline enhancer.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;src/services/tabpfnService.ts&lt;/code&gt;: Tabular feature extraction (variance, off-hours ratio, budget utilization) with Prior Labs TabPFN-3.5 foundation model scoring.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;src/services/billingEngine.ts&lt;/code&gt;: Agency tenth-hour (&lt;code&gt;6-minute&lt;/code&gt;) and freelance quarter-hour (&lt;code&gt;15-minute&lt;/code&gt;) rounding logic and Effective Hourly Rate (EHR) calculations.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;tests/&lt;/code&gt;: Comprehensive test suite with 11 unit tests passing across all calculation and ML modules.&lt;/li&gt;
&lt;/ul&gt;




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

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



&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    subgraph LocalDevice["Local Client (Browser / Laptop) - Zero Telemetry"]
        A["Raw Session Entry&amp;lt;br/&amp;gt;('debugging jwt auth')"] --&amp;gt; B["IndexedDB Local Storage"]
        B --&amp;gt; C["Google Gemma Model&amp;lt;br/&amp;gt;(Local Ollama / Enhancer)"]
        B --&amp;gt; D["Prior Labs TabPFN-3.5&amp;lt;br/&amp;gt;(Tabular Scope Radar)"]
        B --&amp;gt; E["Deterministic Billing Engine&amp;lt;br/&amp;gt;(15-min / 6-min Rounding)"]

        C --&amp;gt; F["Client-Ready Deliverable&amp;lt;br/&amp;gt;'Resolved JWT token lifecycle...'"]
        D --&amp;gt; G["Scope Creep Warning&amp;lt;br/&amp;gt;'Projected 4.2h overrun: $357'"]
        E --&amp;gt; H["Effective Hourly Rate &amp;amp; Margins"]

        F &amp;amp; G &amp;amp; H --&amp;gt; I["Interactive Dashboard &amp;amp; Print/PDF Invoice"]
    end&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  1. Google Gemma Family for Deliverable Synthesis
&lt;/h3&gt;

&lt;p&gt;Language models excel at technical nuance and tone modulation. PhyInvoice AI automatically probes the local Ollama daemon for any installed Gemma variant (&lt;code&gt;gemma:2b&lt;/code&gt;, &lt;code&gt;gemma2:9b&lt;/code&gt;, &lt;code&gt;gemma3:1b&lt;/code&gt;, etc.) or lets the user choose their preferred model from the header dropdown.&lt;/p&gt;

&lt;p&gt;We structured Gemma's prompt with official turn tags:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;start_of_turn&amp;gt;user
Convert the following informal work session note into a single, polished, professional client-facing invoice deliverable sentence.
Project context: "Customer Portal &amp;amp; Auth System".
Rules:
1. Begin with an active past-tense verb (e.g., "Implemented", "Refactored", "Remediated", "Resolved").
2. Focus on client business value, quality, stability, and completion.
3. Remove internal slang and typos.
Raw work note: "debugging JWT refresh token expiry race condition in safari"
&amp;lt;end_of_turn&amp;gt;
&amp;lt;start_of_turn&amp;gt;model
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: &lt;em&gt;"Resolved asynchronous JWT authentication token refresh race condition on WebKit/Safari viewports."&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Prior Labs TabPFN-3.5 for Tabular Scope-Overrun Prediction
&lt;/h3&gt;

&lt;p&gt;While LLMs handle text, tabular foundation models like &lt;strong&gt;TabPFN-3.5&lt;/strong&gt; are unmatched at predicting outcomes from small numerical tables without fine-tuning. We extract 8 tabular features per project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;budgetUtilization&lt;/code&gt;: &lt;code&gt;loggedHours / budgetHours&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;durationVariance&lt;/code&gt;: $\sigma^2$ variance of session length (unpredictable spikes indicate emergent technical debt)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;offHoursRatio&lt;/code&gt;: fraction of work done late at night or on weekends (classic indicator of firefighting)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;unplannedTaskRatio&lt;/code&gt;: frequency of tasks containing scope-expansion keywords (&lt;code&gt;"emergency"&lt;/code&gt;, &lt;code&gt;"extra"&lt;/code&gt;, &lt;code&gt;"slack"&lt;/code&gt;, &lt;code&gt;"per client"&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TabPFN-3.5 evaluates these features zero-shot against synthetic prior distributions to output a calibrated &lt;strong&gt;Overrun Probability (0–100%)&lt;/strong&gt; and estimated financial loss.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Deterministic Agency Billing Engine
&lt;/h3&gt;

&lt;p&gt;We strictly split AI from arithmetic. Language models should never calculate money. Pure TypeScript implements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tenth-Hour Standard (&lt;code&gt;6min&lt;/code&gt;)&lt;/strong&gt;: Law firms and digital agencies bill in 0.1-hour increments. A 7-minute task rounds to 12 minutes (0.2h).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quarter-Hour Standard (&lt;code&gt;15min&lt;/code&gt;)&lt;/strong&gt;: Standard freelance increments. An 18-minute session rounds up to 30 minutes (0.5h).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Effective Hourly Rate (EHR)&lt;/strong&gt;: Calculates &lt;code&gt;totalBillableRevenue / totalActualLoggedHours&lt;/code&gt; to identify secretly unprofitable projects.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;For solo freelancers and side-hustlers, open-source AI is not an ideological bonus—it is an &lt;strong&gt;operational requirement&lt;/strong&gt;:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Client NDA &amp;amp; Trade Secret Protection
&lt;/h3&gt;

&lt;p&gt;Freelancers routinely sign Non-Disclosure Agreements (NDAs). Pasting client code snippets, database schemas, and billing arrangements into proprietary commercial LLM clouds violates confidentiality terms. With open-weight models like Google Gemma running locally, &lt;strong&gt;client intellectual property and billing rates never leave the freelancer's machine&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Eliminating the Recurring "SaaS Tax"
&lt;/h3&gt;

&lt;p&gt;A beginner side-hustler making $400/month cannot afford $35/month recurring subscriptions to tools like Harvest, FreshBooks, or Toggl. Open-source models level the playing field, giving solo contractors enterprise-grade copywriting and predictive analytics for &lt;strong&gt;$0 in monthly API bills&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Offline Resilience
&lt;/h3&gt;

&lt;p&gt;Freelancers frequently work from trains, flights, coffee shops with spotty Wi-Fi, and client offices behind air-gapped firewalls. PhyInvoice AI is 100% local-first: you can track, synthesize, and invoice with your Wi-Fi completely turned off.&lt;/p&gt;




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

&lt;p&gt;I am submitting PhyInvoice AI for the following categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🏆 &lt;strong&gt;Overall Winner&lt;/strong&gt;: A complete, polished solution for the "Side Hustle" theme with demonstrated commercial utility, real-world user validation, and zero cloud API tax.&lt;/li&gt;
&lt;li&gt;💎 &lt;strong&gt;Featured Category: Best Use of Gemma ($200)&lt;/strong&gt;: Leverages Google's Gemma family of open-weight models (Gemma, Gemma 2, or Gemma 3) with dynamic local auto-discovery for prompt-engineered client deliverable synthesis.&lt;/li&gt;
&lt;li&gt;📊 &lt;strong&gt;Featured Category: Best Use of TabPFN ($200)&lt;/strong&gt;: Integrates Prior Labs' TabPFN-3.5 foundation model inside a prediction agent that detects scope creep and unbilled hour leakage from historical tabular CSV data.&lt;/li&gt;
&lt;li&gt;🚀 &lt;strong&gt;Partner Category: Best Use of Render ($200)&lt;/strong&gt;: Deployed and tested for instant web evaluation.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Thanks for reading, and happy Hacktoberfest!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>hf26challenge</category>
      <category>devchallenge</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
    <item>
      <title>TerraGemma: An Offline Edge AI Trail Companion That Tells You to Put Your Phone Away</title>
      <dc:creator>Shivam</dc:creator>
      <pubDate>Mon, 12 Oct 2026 06:07:21 +0000</pubDate>
      <link>https://dev.to/shivamgravity/terragemma-an-offline-edge-ai-trail-companion-that-tells-you-to-put-your-phone-away-3edl</link>
      <guid>https://dev.to/shivamgravity/terragemma-an-offline-edge-ai-trail-companion-that-tells-you-to-put-your-phone-away-3edl</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;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Modern hiking and outdoor apps suffer from a tragic paradox: &lt;strong&gt;they encourage you to stare down at a glowing screen while walking through ancient forests and alpine peaks.&lt;/strong&gt; Turn-by-turn navigation chimes buzz on your wrist every 30 seconds. Hikers miss the rustle of leaves, the scent of damp hemlock needles, and the warning shift of mountain winds.&lt;/p&gt;

&lt;p&gt;Even worse, the moment you hike a mile past the trailhead, cell towers vanish. The second you enter deep wilderness, every proprietary cloud AI assistant (ChatGPT, Claude, Gemini API) turns into a completely useless spinning loading wheel. If a hiker sprains an ankle, gets stung, or loses daylight, closed AI leaves them stranded.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;TerraGemma&lt;/strong&gt;: an offline-first backcountry expedition companion powered by Google's open-weight &lt;strong&gt;Gemma 3&lt;/strong&gt; running 100% locally on-device.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Core Philosophy: "Eyes Up, Screen Down"
&lt;/h3&gt;

&lt;p&gt;TerraGemma is engineered around a radical design principle: &lt;strong&gt;the screen must be the shortest part of your outdoor experience.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of keeping you glued to a feed or turn-by-turn phone map:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;NOAA Solar Engine &amp;amp; Naismith Turnaround Math:&lt;/strong&gt; Calculates exact astronomical sunset, golden hour, and a strict &lt;strong&gt;Turnaround Deadline&lt;/strong&gt; (incorporating elevation gain penalties via Naismith's Rule) so you never get caught on the mountain after dark.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"Eyes-Up, Screen-Down" Sensory Navigation Guide:&lt;/strong&gt; Gemma 3 synthesizes 3 to 4 physical sensory cues (e.g., &lt;em&gt;"Listen for the feeder stream at mile 0.8; feel the wind shift from the western valley as you exit the treeline"&lt;/em&gt;) so you navigate by natural awareness rather than screen-staring.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Screen-Free Audio Briefing ("Listen &amp;amp; Pocket Phone"):&lt;/strong&gt; Plays a concise audio briefing at the trailhead using the browser's native Web Speech API—no cloud speech APIs, no network needed. You listen once, pocket your device, and start hiking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline Wilderness First Responder (WFR) Triage:&lt;/strong&gt; When emergency strikes with zero cellular bars, Gemma 3 provides instant triage for hypothermia, heat illness, venomous snakebites, anaphylaxis, and sprains, accompanied by international 3-blast whistle rescue signaling protocols.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Field Flora, Fauna &amp;amp; Toxic Lookalike Protection:&lt;/strong&gt; Side-by-side identification of dangerous lookalikes (Poison Ivy vs. Virginia Creeper; Queen Anne's Lace vs. Deadly Poison Hemlock; Black Bear vs. Grizzly) plus mindful "Touch Grass" sensory missions.&lt;/li&gt;
&lt;/ol&gt;




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

&lt;h3&gt;
  
  
  1. Planning with Solar Precision &amp;amp; Safe Turnaround
&lt;/h3&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%2F3m2oi980ommbpxn18lrj.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%2F3m2oi980ommbpxn18lrj.png" alt="Expedition Planner with Astronomical Solar Calculation &amp;amp; Naismith Turnaround Time" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Selecting a backcountry trail calculates astronomical solar timestamps (Sunrise, Sunset, Civil Dusk) using offline NOAA formulas and applies Naismith’s Rule with elevation gain penalties. A color-coded daylight status badge and a hard Turnaround Time ensure hikers never get caught on the mountain after dark, displayed alongside an interactive OpenStreetMap route.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. "Eyes-Up, Screen-Down" Audio Briefing
&lt;/h3&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%2Fxsa4do1fyav4byid02q1.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%2Fxsa4do1fyav4byid02q1.png" alt="Audio Briefing Card and 'Eyes-Up, Screen-Down' Sensory Field Guide" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Gemma 3 synthesizes memorable physical sensory anchors (the sound of feeder streams, shifting ridge winds, distinctive boulder cairns) so hikers navigate with their natural senses instead of checking turn-by-turn phone notifications. Clicking *&lt;/em&gt;"Listen &amp;amp; Pocket Phone"** activates the offline Web Speech API to read the briefing aloud, allowing the hiker to stow their device and hike hands-free.*&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Offline Emergency First Responder Triage
&lt;/h3&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%2F3qky8wclm9pwe7jxz9uo.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%2F3qky8wclm9pwe7jxz9uo.png" alt="Offline Wilderness First Responder Hazard Triage Powered by Gemma 3" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;In deep backcountry with zero cellular signal, emergency medical decisions cannot wait. Gemma 3 evaluates acute symptoms offline—providing immediate 3-step triage actions, critical contraindications (what NOT to do), evacuation urgency, and international 3-blast whistle rescue signaling protocols.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Botanical Safety &amp;amp; Mindful Outdoor Missions
&lt;/h3&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%2Fiqngd2oydrzqdrerrz2n.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%2Fiqngd2oydrzqdrerrz2n.png" alt="Field Flora, Fauna &amp;amp; Toxic Lookalike Protection with Mindful Missions" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An offline botanical and wildlife field guide comparing dangerous lookalikes side-by-side (Poison Ivy vs. Virginia Creeper, Queen Anne’s Lace vs. Deadly Poison Hemlock, Black Bear vs. Grizzly) alongside mindful "Touch Grass" missions designed to foster genuine connection with the forest.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Here is how TerraGemma works in practice at the trailhead:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Expedition Setup &amp;amp; Astronomical Calculations:&lt;/strong&gt; Select a backcountry trail (or enter custom coordinates). The offline NOAA solar engine calculates sunrise, sunset, and civil dusk. Naismith's rule factors in trail distance and 2,000+ ft of vertical ascent, instantly issuing a color-coded daylight status (🟢 Safe, 🟡 Caution, 🔴 Hazardous) and a hard turnaround timestamp.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive OpenStreetMap Route:&lt;/strong&gt; Waypoints, stream crossings, switchbacks, and high-altitude checkpoints render on an open geospatial topographic map.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Synthesize &amp;amp; Pocket Phone:&lt;/strong&gt; Hit &lt;strong&gt;"Synthesize Sensory Field Briefing"&lt;/strong&gt;. Local Gemma 3 generates sensory landmark anchors in milliseconds. Click &lt;strong&gt;"Listen &amp;amp; Pocket Phone"&lt;/strong&gt;—the voice player reads the briefing aloud so you put your phone into your backpack and touch grass.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline Emergency Triage:&lt;/strong&gt; If an emergency arises, navigate to the WFR tab to get calm, step-by-step first responder protocols even in airplane mode.&lt;/li&gt;
&lt;/ol&gt;




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

&lt;p&gt;The complete source code is open-source under the MIT License on GitHub:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://github.com/shivamgravity/terragemma" rel="noopener noreferrer"&gt;https://github.com/shivamgravity/terragemma&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




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

&lt;p&gt;TerraGemma is built in Python using Streamlit, engineered specifically for &lt;strong&gt;100% offline, zero-cloud execution&lt;/strong&gt; on consumer hardware:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Local Open-Weight AI (Google Gemma 3):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;gemma3:1b&lt;/code&gt; (Primary Edge Model):&lt;/strong&gt; Ultra-lightweight (~815 MB), running inference in ~500ms on standard laptop CPUs. Perfect for instant trail briefings and field checklists without draining device battery.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;gemma3:4b&lt;/code&gt; (Analytical Model):&lt;/strong&gt; Deeper contextual reasoning for complex wilderness emergencies and botanical identification.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama Engine:&lt;/strong&gt; Connected via local HTTP API with &lt;code&gt;keep_alive: 60m&lt;/code&gt; to ensure warm model weights stay in memory.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resilient Fallback Engine:&lt;/strong&gt; Built-in heuristic fallbacks ensure zero downtime when deployed for cloud demos.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deterministic NOAA Solar &amp;amp; Naismith Engine:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Pure Python mathematical implementation of the NOAA solar algorithm (zenith 90.833° for official sunset, 96° for civil dusk). Zero astronomy C-dependencies.&lt;/li&gt;
&lt;li&gt;Naismith's Rule with Scarf's equivalence: calculates base pace plus 1 hour per 2,000 ft of vertical ascent and required safety buffers.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline Web Speech API Audio Synthesizer:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Implemented via a self-contained HTML/JS component leveraging &lt;code&gt;window.speechSynthesis&lt;/code&gt;. Synthesizes natural speech locally in the user's browser without calling external cloud text-to-speech APIs.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Geospatial Mapping (&lt;code&gt;folium&lt;/code&gt; &amp;amp; &lt;code&gt;streamlit-folium&lt;/code&gt;):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;OpenStreetMap layers mapping trailheads, water sources, summits, and turnaround checkpoints.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

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



&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    A["Hiker at Backcountry Trailhead (Airplane Mode / Zero Signal)"] --&amp;gt; B["TerraGemma App (Streamlit Local Engine)"]

    subgraph "Deterministic Outdoor Engines (Zero Dependencies)"
        B --&amp;gt; C["NOAA Solar Engine (Sunset, Twilight, Golden Hour)"]
        B --&amp;gt; D["Naismith's Rule Engine (Turnaround Time &amp;amp; Margin)"]
        B --&amp;gt; E["OpenStreetMap Visualizer (Waypoints &amp;amp; Elevation)"]
    end

    subgraph "Open Edge AI Engine"
        B --&amp;gt; F["Google Gemma 3 (1B / 4B via Local Ollama)"]
        F --&amp;gt; G["Sensory Landmark Generator ('Eyes-Up Guide')"]
        F --&amp;gt; H["Wilderness First Responder (WFR Triage Matrix)"]
        F --&amp;gt; I["Botanical &amp;amp; Toxic Lookalike Field Assistant"]
    end

    G --&amp;gt; J["Offline Web Speech API Synthesizer"]
    J --&amp;gt; K["🔊 Audio Briefing: 'Listen &amp;amp; Pocket Phone'"]
    K --&amp;gt; L["Hiker Steps Onto Trail with Eyes Up &amp;amp; Mind Clear 🌲"]&lt;/code&gt;&lt;/pre&gt;






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

&lt;p&gt;In a coffee shop, relying on closed cloud AI APIs (like OpenAI or proprietary cloud endpoints) is convenient. &lt;strong&gt;In the wilderness, a closed API is 100% dead.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Zero-Connectivity Wilderness Resilience
&lt;/h3&gt;

&lt;p&gt;When you step past the trailhead into a national park, canyon, or alpine pass, cell signal drops to 0 bars. Closed APIs become infinite loading spinners. Open-weight models like &lt;strong&gt;Gemma 3&lt;/strong&gt; run natively on edge devices. You carry a world-class naturalist and wilderness first responder with you without a single cell tower in sight.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Radical Location &amp;amp; Health Privacy
&lt;/h3&gt;

&lt;p&gt;Commercial trail apps frequently package high-precision GPS tracks, departure times, and personal health metrics to sell to ad brokers and data brokers. TerraGemma runs 100% locally: &lt;strong&gt;your coordinates, trail notes, and emergency symptoms never leave your device.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Zero Running Cost &amp;amp; Unlimited Utility
&lt;/h3&gt;

&lt;p&gt;Closed APIs charge meter fees per thousand tokens and enforce rate limits. On a multi-day backpacking trek, an open-weight model costs &lt;strong&gt;$0.00&lt;/strong&gt;, will never hit an API rate limit, and operates completely indefinitely.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Efficient Quantized Edge Footprint
&lt;/h3&gt;

&lt;p&gt;Google's &lt;strong&gt;Gemma 3 (1B)&lt;/strong&gt; requires under 1 GB of memory. It runs on consumer laptops and edge hardware in hundreds of milliseconds without draining critical battery reserves needed for survival navigation.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;I built and verified TerraGemma using DevRelay:&lt;/p&gt;


&lt;div class="ltag-agent-session"&gt;
  &lt;div class="agent-session-header"&gt;
    
    &lt;span class="agent-session-tool-icon-badge" title="Gemini CLI"&gt;
&lt;/span&gt;
    &lt;span class="agent-session-title"&gt;Building TerraGemma: Offline Edge AI Wilderness Companion with Gemma 3&lt;/span&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-scroll"&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;I am participating the hacktoberfest and this is the challenge, given in ABOUT.md. Can you help build something cool that can stand out and really solves some problem?&lt;/p&gt;

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

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Let's build TerraGemma: an offline-first backcountry expedition companion powered by Google Gemma 3 running locally on-device. It solves the critical problem where closed AI models fail completely past the trailhead when cellular service drops to zero. TerraGemma minimizes screen time with astronomical solar math, Naismith turnaround calculations, sensory landmark guides, and an offline Web Speech audio briefing so hikers can pocket their phones and touch grass.&lt;/p&gt;

                &lt;/div&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-verifybuild"&gt;verify_build&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;python3 -m py_compile app.py&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;python3 -m py_compile app.py&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Syntax OK, all modules verified.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-footer"&gt;
    &lt;span class="agent-session-meta"&gt;
        2 of 2 messages
    &lt;/span&gt;
  &lt;/div&gt;
&lt;/div&gt;





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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Featured Category: Best Use of Gemma ($200 USD)&lt;/strong&gt;:
TerraGemma is built entirely around Google's open-weight &lt;strong&gt;Gemma 3 (1B and 4B)&lt;/strong&gt; served locally through Ollama. Gemma powers dynamic sensory landmark generation, structured WFR triage evaluation, and offline botanical identification without any proprietary cloud dependencies.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>hf26challenge</category>
      <category>devchallenge</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
    <item>
      <title>My Dadi's Recipes Were Trapped in Voice Notes, So I Built Her an AI Cookbook</title>
      <dc:creator>Shivam</dc:creator>
      <pubDate>Mon, 05 Oct 2026 07:18:16 +0000</pubDate>
      <link>https://dev.to/shivamgravity/my-dadis-recipes-were-trapped-in-voice-notes-so-i-built-her-an-ai-cookbook-44g4</link>
      <guid>https://dev.to/shivamgravity/my-dadis-recipes-were-trapped-in-voice-notes-so-i-built-her-an-ai-cookbook-44g4</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;Dadi's Rasoi&lt;/strong&gt; (Grandma's Kitchen), a warm, local-first web application that turns scattered voice notes into a structured, searchable family recipe book. &lt;/p&gt;

&lt;p&gt;I built this for my grandmother (Dadi) and my broader family. Like many families, our traditional recipes exist entirely in someone's memory or in rambling Hindi/Hinglish voice notes sent over WhatsApp. Dadi's Rasoi solves this by taking her raw voice recordings, automatically transcribing them, organizing the ingredients and instructions, and saving them into a beautiful digital cookbook. Most importantly, it is specifically prompted to preserve her authentic phrasing (like &lt;em&gt;"namak apne hisaab se"&lt;/em&gt; / salt to taste) and her personal cooking tips, rather than hallucinating generic measurements. &lt;/p&gt;

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

&lt;p&gt;You can try out the live application here: &lt;strong&gt;&lt;a href="https://archive-recipe.streamlit.app" rel="noopener noreferrer"&gt;Dadi's Rasoi on Streamlit&lt;/a&gt;&lt;/strong&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%2Fra8pgun9bbnjpqo9u2ef.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%2Fra8pgun9bbnjpqo9u2ef.png" alt="Transcribing the voice" width="800" height="450"&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%2F2dg9tk6ttcx4i68z1h6l.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%2F2dg9tk6ttcx4i68z1h6l.png" alt="Voice transcribed and recipe generation via gemma3" width="800" height="450"&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%2Fcl41cos3dhjnsduopncr.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%2Fcl41cos3dhjnsduopncr.png" alt="generated recipe part 1" width="800" height="450"&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%2Fnx72at5emv4fzq8f6xkq.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%2Fnx72at5emv4fzq8f6xkq.png" alt="generated recipe part 2" width="800" height="450"&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%2F8c27pqyj046sj9dyokq1.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%2F8c27pqyj046sj9dyokq1.png" alt="generated recipe part 3" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(Note: The live cloud version uses the mock fallback providers for the demonstration, while cloning the GitHub repo locally allows for the full Ollama + Whisper private AI execution!)&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;You can view the full source code on GitHub here: &lt;a href="https://github.com/shivamgravity/hf26-recipe-archived" rel="noopener noreferrer"&gt;shivamgravity/hf26-recipe-archived&lt;/a&gt;&lt;/p&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/shivamgravity" rel="noopener noreferrer"&gt;
        shivamgravity
      &lt;/a&gt; / &lt;a href="https://github.com/shivamgravity/hf26-recipe-archived" rel="noopener noreferrer"&gt;
        hf26-recipe-archived
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Preserve family recipes from voice notes using 100% local, privacy-first AI (Gemma 3 &amp;amp; faster-whisper).
    &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;Dadi's Rasoi ❤️&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Preserve the recipes that live in someone's memory.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Built for Hacktoberfest 2026 — Weekend Challenge: Build for a Friend&lt;/em&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;💡 The Problem&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Family recipes frequently exist only in someone's memory or scattered voice messages.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🥘 The Solution&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Dadi's Rasoi is a small, warm personal web application that converts those voice explanations into structured, searchable family recipes.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🛠️ Local AI Architecture&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Once the models are installed, the core AI pipeline can run without sending family voice recordings to a remote AI provider.&lt;/p&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;Voice
  ↓
faster-whisper (Local Speech Recognition)
  ↓
Transcript
  ↓
Gemma via Ollama (Local LLM)
  ↓
Structured Recipe
  ↓
Pydantic validation
  ↓
SQLite (Local Cookbook)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🤔 Why Open AI?&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Privacy:&lt;/strong&gt; Keep family data under your control. The local models ensure nothing leaves your laptop.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model Flexibility:&lt;/strong&gt; Swap out the core extraction model as open-weight models evolve.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No Proprietary Lock-in:&lt;/strong&gt; Ensure the family cookbook isn't dependent on expensive…&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/shivamgravity/hf26-recipe-archived" 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;p&gt;The application is written in Python using Streamlit to create a warm, minimal, and non-intimidating UI. The AI pipeline is built entirely around &lt;strong&gt;open-source and open-weight AI running 100% locally&lt;/strong&gt; on consumer hardware:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Local Speech Recognition (&lt;code&gt;faster-whisper&lt;/code&gt;):&lt;/strong&gt; The app takes the audio file and processes it directly on the CPU using &lt;code&gt;faster-whisper&lt;/code&gt; (the &lt;code&gt;small&lt;/code&gt; model with &lt;code&gt;int8&lt;/code&gt; quantization). It naturally detects and transcribes Hindi and Hinglish without aggressively forcing translations, preserving her exact words.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Structured Extraction (&lt;code&gt;Gemma 3&lt;/code&gt;):&lt;/strong&gt; The transcript is sent to Google's open-weight &lt;strong&gt;Gemma 3 (4B)&lt;/strong&gt; model, served locally via &lt;strong&gt;Ollama&lt;/strong&gt;. Gemma is prompted to act as a strict data extractor, parsing the raw text into a structured JSON schema (validated by Pydantic) containing titles, ingredients, steps, and a special section for "Family Tips".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Storage (&lt;code&gt;SQLite&lt;/code&gt;):&lt;/strong&gt; The user reviews the AI's extraction, makes any necessary manual edits, and saves the final recipe card to a local SQLite database for searching and browsing.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;Open innovation is the entire reason this project works for this specific use case. Voice recordings of your family members are deeply personal. Sending a grandmother's voice memos to a closed, third-party API server to be processed (and potentially trained on) felt completely wrong.&lt;/p&gt;

&lt;p&gt;By using open-weight models like &lt;strong&gt;Gemma 3&lt;/strong&gt; and open speech frameworks like &lt;strong&gt;Whisper&lt;/strong&gt; running natively on my own device, &lt;strong&gt;Dadi's Rasoi is 100% private.&lt;/strong&gt; The audio and the recipes never leave the laptop. Furthermore, because these models are open, I was able to utilize lightweight, quantized versions that execute comfortably on a consumer laptop without racking up cloud API bills. Open AI gave me the freedom to keep family memories entirely within the family.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Gemma:&lt;/strong&gt; Gemma 3 (4B via Ollama) serves as the core intelligent engine of the application, seamlessly handling multilingual (Hindi/Hinglish) understanding and performing strict JSON extraction to format unstructured spoken word into a reliable, editable recipe schema.&lt;/li&gt;
&lt;/ul&gt;

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