<?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: Souvik Das</title>
    <description>The latest articles on DEV Community by Souvik Das (@dasouvik122005).</description>
    <link>https://dev.to/dasouvik122005</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%2F4160834%2F4d4d2c06-f441-4acd-b8d4-058de84e9c00.png</url>
      <title>DEV Community: Souvik Das</title>
      <link>https://dev.to/dasouvik122005</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dasouvik122005"/>
    <language>en</language>
    <item>
      <title>FoodTruth: Exposing Packaged Food Deception with Open-Weight Vision AI</title>
      <dc:creator>Souvik Das</dc:creator>
      <pubDate>Tue, 20 Oct 2026 02:38:57 +0000</pubDate>
      <link>https://dev.to/dasouvik122005/foodtruth-exposing-packaged-food-deception-with-open-weight-vision-ai-4ioi</link>
      <guid>https://dev.to/dasouvik122005/foodtruth-exposing-packaged-food-deception-with-open-weight-vision-ai-4ioi</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week3-2026-10-19"&gt;Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Modern supermarket aisles are designed to mislead. Packaged food companies spend billions on deceptive front-of-pack claims like &lt;em&gt;"No Added Sugar"&lt;/em&gt;, &lt;em&gt;"High Protein"&lt;/em&gt;, and &lt;em&gt;"100% Natural"&lt;/em&gt;, while burying metabolic traps in fine print on the back panel:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hidden Sugars&lt;/strong&gt;: Products marked "No Added Sugar" routinely contain &lt;strong&gt;Maltodextrin&lt;/strong&gt; (with a Glycemic Index of &lt;strong&gt;110&lt;/strong&gt;, spiking blood sugar faster than pure glucose), liquid glucose, or laxative doses of polyols like &lt;strong&gt;Maltitol&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The "Protein Sprinkle" Trick&lt;/strong&gt;: Snack bars claim "Rich in Whey Protein" in bold front lettering, yet their ingredient lists place Whey Isolate behind maida (refined wheat flour), sugar, palm oil, and soy flour — merely &lt;em&gt;sprinkling&lt;/em&gt; it in to satisfy legal claim thresholds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unlawful Disease Claims&lt;/strong&gt;: Brands blatantly violate food safety regulations (such as FSSAI Section 24 and FDA guidelines) by claiming their snack or shake can "cure diabetes" or "control hypertension."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;FoodTruth&lt;/strong&gt; is an open-source, AI-powered food regulatory auditor and nutritional deception detector. By snapping or uploading dual packaging photos (&lt;strong&gt;Front Branding&lt;/strong&gt; + &lt;strong&gt;Back Nutrition Table &amp;amp; Ingredients&lt;/strong&gt;), FoodTruth runs an automated, multi-tiered audit that strips away corporate marketing and delivers the unvarnished metabolic truth.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       Front Branding                  Back Ingredients &amp;amp; Nutrition
  [ "15g Whey Protein" ]           [ Sugar, Palm Oil, Whey Isolate (2%) ]
             \                                      /
              \                                    /
               ▼                                  ▼
         ┌──────────────────────────────────────────────┐
         │          FoodTruth AI Audit Engine           │
         │   • Gemma Open Vision Schema Extraction      │
         │   • Sweetener Glycemic Index (GI) Matrix     │
         │   • DIAAS Protein Bioavailability &amp;amp; Dilution │
         │   • P:Cal Metabolic Efficiency Yield         │
         │   • FSSAI / FDA Regulatory Claims Audit      │
         └──────────────────────────────────────────────┘
                                │
                                ▼
         ┌──────────────────────────────────────────────┐
         │             Actionable Verdict               │
         │   "Protein Sprinkle Trick Detected"          │
         │   Optimized For: Quick pre-workout carbs     │
         │   Avoid If: Diabetic / Strict Calorie Deficit│
         └──────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Who Would Pay For It? (The Side Hustle Business Model)
&lt;/h3&gt;

&lt;p&gt;FoodTruth is built with a direct commercial monetization pathway:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;B2C Micro-SaaS (Consumer Grocery Companion)&lt;/strong&gt;: A mobile web app / PWA subscription ($4.99/month or $39/year) targeting diabetics, keto athletes, parents, and health-conscious consumers who want a 2-second barcode/packaging camera scan while walking supermarket aisles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pro Coach / Dietitian Pantry Audits ($19/mo per seat)&lt;/strong&gt;: Fitness trainers, dietitians, and functional medicine practitioners who audit clients' pantry items and generate branded, PDF-exportable nutritional truth reports.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;B2B Pre-Print Packaging Compliance API ($49/audit or $199/mo)&lt;/strong&gt;: Emerging D2C clean-label food brands and packaging design agencies need to pre-audit their label artwork against FSSAI and FDA advertising regulations &lt;em&gt;before&lt;/em&gt; committing thousands of dollars to physical printing and risking regulatory notices or product recalls.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live Repository&lt;/strong&gt;: &lt;a href="https://github.com/dasouvik122005/FoodTruth" rel="noopener noreferrer"&gt;https://github.com/dasouvik122005/FoodTruth&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Interactive Setup&lt;/strong&gt;: Clone the repo, launch FastAPI (&lt;code&gt;python main.py&lt;/code&gt;) and Vite (&lt;code&gt;npm run dev&lt;/code&gt;), then test live packaging scans or choose from pre-loaded real-world audit payloads (&lt;em&gt;Yoga Bar&lt;/em&gt;, &lt;em&gt;The Whole Truth&lt;/em&gt;, and &lt;em&gt;SuperYou Wafer&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  User Interface Highlights
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Bespoke Editorial Aesthetic&lt;/strong&gt;: Designed with an editorial high-contrast light layout, split-screen desktop experience, and fluid mobile-first ergonomics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;In-App Camera Viewfinder&lt;/strong&gt;: Integrated mobile camera capture with canvas-based shutter action for instant grocery shelf snapping.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deterministic Metric Cards&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Metabolic Sugar Risk&lt;/strong&gt;: High/Moderate/Low risk calculation based on real Glycemic Index (GI) database mapping.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protein Quality Tier&lt;/strong&gt;: Classifies proteins by DIAAS bioavailability (Tier 1 Whey Isolate down to Tier 3 Wheat Gluten/Flour fillers).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calorie Yield (P:Cal)&lt;/strong&gt;: Calculates what percentage of total calories actually comes from bioavailable protein vs caloric padding.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FSSAI Violation Alerts&lt;/strong&gt;: Real-time legal citations identifying specific regulatory breaches.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;The entire codebase is open-source under the MIT license at GitHub:&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/dasouvik122005" rel="noopener noreferrer"&gt;
        dasouvik122005
      &lt;/a&gt; / &lt;a href="https://github.com/dasouvik122005/FoodTruth" rel="noopener noreferrer"&gt;
        FoodTruth
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      FoodTruth uses Gemma to analyze food packaging, extract nutritional data, and audit for compliance and health warnings.
    &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;FoodTruth&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;FoodTruth is an AI-powered application that analyzes food packaging images (front and back) to extract nutritional information and ingredients. It uses the Gemini API for precise data extraction and runs comprehensive audits against predefined rules to verify compliance and highlight potential health warnings.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Automated Data Extraction&lt;/strong&gt;: Upload images of food labels, and the system automatically extracts nutrition facts and ingredient lists using Google's Gemini models.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rule-Based Auditing&lt;/strong&gt;: Runs safety and compliance checks on the extracted data, identifying things like hidden sugars, allergens, or misleading claims.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive UI&lt;/strong&gt;: A modern React frontend built with Vite and Tailwind CSS to easily review results.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Demo Mode&lt;/strong&gt;: Includes pre-configured demo samples for quick testing.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🛠️ Tech Stack&lt;/h2&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: React 19, TypeScript, Vite, Tailwind CSS v4&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: Python, FastAPI, Uvicorn&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI/ML&lt;/strong&gt;: Google GenAI (Gemini)&lt;/li&gt;
&lt;/ul&gt;

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

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Node.js&lt;/strong&gt; (v18 or higher)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python&lt;/strong&gt; (v3.10 or higher)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google&lt;/strong&gt;…&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/dasouvik122005/FoodTruth" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;
  
  
  Key Architectural Highlights
&lt;/h3&gt;

&lt;p&gt;FoodTruth is architected into three clean decoupled layers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: React 19, TypeScript, Tailwind CSS v4, dynamic camera capture stream via &lt;code&gt;navigator.mediaDevices&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: FastAPI (Python 3.10+), Pydantic v2 strict schema validation, asynchronous image streaming.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Vision &amp;amp; Audit Pipeline&lt;/strong&gt;: Google Gemma open-weight models (&lt;code&gt;gemma-4-26b-a4b-it&lt;/code&gt; / &lt;code&gt;gemma-4-31b-it&lt;/code&gt;) extracting structured entities into Pydantic models, fed into a deterministic regulatory engine.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;
  
  
  1. The Pydantic Extraction Schema (&lt;code&gt;backend/models.py&lt;/code&gt;)
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;ExtractionData&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BaseModel&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;product_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;
    &lt;span class="n"&gt;serving_size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Optional&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;ServingSize&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Field&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;default_factory&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;ServingSize&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;front_claims&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;macros_per_serving&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Optional&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;MacrosPerServing&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Field&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;default_factory&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;MacrosPerServing&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;ingredients_raw&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;parenthetical_sub_ingredients&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;ParentheticalSubIngredient&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;disease_or_medicinal_claims&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Field&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;default_factory&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;has_nutrition_table&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bool&lt;/span&gt;
    &lt;span class="n"&gt;has_ingredient_list&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bool&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  2. The "Protein Sprinkle Trick" &amp;amp; Sweetener Detection Algorithm (&lt;code&gt;backend/rules.py&lt;/code&gt;)
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Detect if a brand claims 'Whey Protein' on front, but buries it behind cheap fillers
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;audit_protein&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;ExtractionData&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;ProteinAudit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;ingredients&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;strip&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ingredients_raw&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="n"&gt;first_tier1_idx&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;idx&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ing&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ingredients&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;t1&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;PROTEIN_TIERS&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;TIER_1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sources&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;t1&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;ing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;first_tier1_idx&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="n"&gt;first_tier1_idx&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;idx&lt;/span&gt;
                &lt;span class="k"&gt;break&lt;/span&gt;

    &lt;span class="n"&gt;front_claims_lower&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;front_claims&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;claims_whey&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;any&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;whey&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;front_claims_lower&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# In food labeling, ingredients are listed by descending weight.
&lt;/span&gt;    &lt;span class="c1"&gt;# If Whey is claimed on front but appears past index 2, it is a sprinkle!
&lt;/span&gt;    &lt;span class="n"&gt;sprinkle_trick&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;claims_whey&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;first_tier1_idx&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;first_tier1_idx&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nc"&gt;ProteinAudit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;declared_g&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;macros_per_serving&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;protein_g&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="mf"&gt;0.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;source_tier&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;top_tier&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;true_source&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;true_source&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;sprinkle_trick_detected&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;sprinkle_trick&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;
&lt;h3&gt;
  
  
  The Open-Source AI Stack
&lt;/h3&gt;

&lt;p&gt;FoodTruth is built around &lt;strong&gt;Gemma open-weight models&lt;/strong&gt; (&lt;code&gt;gemma-4-26b-a4b-it&lt;/code&gt; and &lt;code&gt;gemma-4-31b-it&lt;/code&gt;), Google's family of lightweight, state-of-the-art open models. &lt;/p&gt;
&lt;h4&gt;
  
  
  Why Open-Weight Vision Models?
&lt;/h4&gt;

&lt;p&gt;Analyzing food packaging is notoriously difficult for classical OCR:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Packaged labels are curved, glossy, wrinkled, or photographed under poor grocery fluorescent lighting.&lt;/li&gt;
&lt;li&gt;Nutrition facts exist in non-standard tabular grids, dual columns (per 100g vs per serving), and multi-language panels.&lt;/li&gt;
&lt;li&gt;Ingredients are packed into dense, micro-font comma-separated lists with parenthetical sub-ingredients (e.g. &lt;em&gt;"Compound Chocolate [Sugar, Hydrogenated Vegetable Fat, Cocoa Solids, Emulsifier (INS 322)]"&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Gemma's multimodal architecture performs holistic scene understanding: it locates both panels across arbitrary image orientations, transcribes ingredient text verbatim, normalizes nutritional metrics to grams, and outputs strict JSON matching our Pydantic schema in a single pass.&lt;/p&gt;

&lt;h4&gt;
  
  
  Hybrid AI + Deterministic Rules Architecture
&lt;/h4&gt;

&lt;p&gt;Instead of asking an LLM to hallucinate whether a product is "healthy" (which produces vague, non-reproducible answers), FoodTruth employs a &lt;strong&gt;neuro-symbolic pipeline&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Perception Layer (Gemma)&lt;/strong&gt;: Performs vision OCR and extracts ground-truth product facts (exact ingredient sequence, front claim quotes, declared macro numbers).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audit Layer (Python Deterministic Engine)&lt;/strong&gt;: Evaluates the extracted entities against an immutable glycemic index database (&lt;code&gt;SWEETENER_DB&lt;/code&gt;), bioavailability tables (&lt;code&gt;PROTEIN_TIERS&lt;/code&gt;), and statutory regex patterns (&lt;code&gt;DISEASE_CLAIM_PATTERNS&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verdict Generation&lt;/strong&gt;: Produces explainable, reproducible scores that can stand up to regulatory scrutiny.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;h3&gt;
  
  
  1. Sovereignty Over Personal Health Telemetry
&lt;/h3&gt;

&lt;p&gt;What you eat and the medical conditions you manage (Type 2 diabetes, insulin resistance, celiac disease, hypertension) represent some of the most sensitive personal data that exists. Closed, proprietary AI platforms log every prompt and image scan to enrich user ad-tracking profiles. Open-weight models like Gemma can run locally on edge hardware or private self-hosted servers, ensuring zero health telemetry leaks to third parties.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Impartiality and Truth Without Corporate Censorship
&lt;/h3&gt;

&lt;p&gt;Closed foundation models are operated by massive cloud conglomerates with deep commercial ties to multinational food and beverage advertisers. Can consumers truly trust a closed-source model's nutritional advice when proprietary guardrails might quietly downplay the harms of ultra-processed food formulations? &lt;/p&gt;

&lt;p&gt;Open innovation guarantees &lt;strong&gt;algorithmic transparency&lt;/strong&gt;. Every prompt, every weight tensor, and every rule in FoodTruth is public, auditable by independent nutrition scientists, and immune to corporate lobbying.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Democratizing Preventive Healthcare in Emerging Markets
&lt;/h3&gt;

&lt;p&gt;Countries like India, Mexico, and Brazil are facing catastrophic surges in lifestyle diseases and diabetes fueled by ultra-processed food marketing. Closed API token fees ($0.03–$0.05 per multimodal call) make consumer scanning tools economically unviable for everyday shoppers in emerging economies. Open-weight models empower developers to run batch inference or deploy quantised models on community servers at near-zero marginal cost.&lt;/p&gt;

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

&lt;p&gt;This project was developed end-to-end with &lt;strong&gt;Antigravity&lt;/strong&gt;, Google's agentic coding assistant. The agent session encompassed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Designing the dual-panel OCR prompt and Pydantic validation schema.&lt;/li&gt;
&lt;li&gt;Implementing the glycemic risk and "protein sprinkle trick" heuristic engines.&lt;/li&gt;
&lt;li&gt;Refactoring the frontend into a responsive, editorial interface with mobile camera viewfinder integration.&lt;/li&gt;
&lt;li&gt;Resolving edge cases with non-standard nutritional tables and missing panels.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can inspect the agent transcript through DevRelay:&lt;br&gt;
&lt;code&gt;{% agent_session a56d77e3-18a5-48b8-b5ba-c0c56fea78a7 %}&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My First User
&lt;/h2&gt;

&lt;p&gt;During development, I tested FoodTruth with a friend who is actively managing pre-diabetes and trying to maintain a high-protein calorie deficit for weight loss. &lt;/p&gt;

&lt;p&gt;We scanned a popular supermarket "High Protein Wafer" claiming &lt;em&gt;"10g Whey Protein"&lt;/em&gt; and &lt;em&gt;"No Added Sugar"&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Audit Results Shocked Him:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The Protein Lie&lt;/strong&gt;: Whey protein concentrate was placed 5th in the ingredient list — behind wheat flour (maida), maltitol, soy protein isolate, and hydrogenated vegetable oil. The front claim of "Whey" was pure marketing dilution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Sweetener Trap&lt;/strong&gt;: The product contained 12g of Maltitol, which triggers gastrointestinal distress and has a glycemic index that still impacts blood glucose.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Illegal Claim&lt;/strong&gt;: The label claimed the product was "Clinically proven to reverse diabetes" — a direct violation of FSSAI advertising standards.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;His Reaction:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"I've literally been eating two of these a day thinking I was hitting my protein goals and protecting my blood sugar. Finding out that the whey is basically just sprinkled on top of maida and vegetable oil is infuriating. If this were an app on my phone, I'd easily pay $5 a month just to scan items in the grocery aisle before buying them."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That feedback confirmed the side hustle thesis: consumers don't want generic calorie counters; they want a ruthless advocate that exposes label deception.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Built with passion for food transparency and open-source innovation during Hacktoberfest 2026.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>FoodTruth: Exposing Packaged Food Deception with Open-Weight Vision AI</title>
      <dc:creator>Souvik Das</dc:creator>
      <pubDate>Thu, 15 Oct 2026 02:46:56 +0000</pubDate>
      <link>https://dev.to/dasouvik122005/foodtruth-exposing-packaged-food-deception-with-open-weight-vision-ai-4cen</link>
      <guid>https://dev.to/dasouvik122005/foodtruth-exposing-packaged-food-deception-with-open-weight-vision-ai-4cen</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;Modern supermarket aisles are designed to mislead. Packaged food companies spend billions on deceptive front-of-pack claims like &lt;em&gt;"No Added Sugar"&lt;/em&gt;, &lt;em&gt;"High Protein"&lt;/em&gt;, and &lt;em&gt;"100% Natural"&lt;/em&gt;, while burying metabolic traps in fine print on the back panel:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hidden Sugars&lt;/strong&gt;: Products marked "No Added Sugar" routinely contain &lt;strong&gt;Maltodextrin&lt;/strong&gt; (with a Glycemic Index of &lt;strong&gt;110&lt;/strong&gt;, spiking blood sugar faster than pure glucose), liquid glucose, or laxative doses of polyols like &lt;strong&gt;Maltitol&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The "Protein Sprinkle" Trick&lt;/strong&gt;: Snack bars claim "Rich in Whey Protein" in bold front lettering, yet their ingredient lists place Whey Isolate behind maida (refined wheat flour), sugar, palm oil, and soy flour — merely &lt;em&gt;sprinkling&lt;/em&gt; it in to satisfy legal claim thresholds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unlawful Disease Claims&lt;/strong&gt;: Brands blatantly violate food safety regulations (such as FSSAI Section 24 and FDA guidelines) by claiming their snack or shake can "cure diabetes" or "control hypertension."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;FoodTruth&lt;/strong&gt; is an open-source, AI-powered food regulatory auditor and nutritional deception detector. By snapping or uploading dual packaging photos (&lt;strong&gt;Front Branding&lt;/strong&gt; + &lt;strong&gt;Back Nutrition Table &amp;amp; Ingredients&lt;/strong&gt;), FoodTruth runs an automated, multi-tiered audit that strips away corporate marketing and delivers the unvarnished metabolic truth.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       Front Branding                  Back Ingredients &amp;amp; Nutrition
  [ "15g Whey Protein" ]           [ Sugar, Palm Oil, Whey Isolate (2%) ]
             \                                      /
              \                                    /
               ▼                                  ▼
         ┌──────────────────────────────────────────────┐
         │          FoodTruth AI Audit Engine           │
         │   • Gemma Open Vision Schema Extraction      │
         │   • Sweetener Glycemic Index (GI) Matrix     │
         │   • DIAAS Protein Bioavailability &amp;amp; Dilution │
         │   • P:Cal Metabolic Efficiency Yield         │
         │   • FSSAI / FDA Regulatory Claims Audit      │
         └──────────────────────────────────────────────┘
                                │
                                ▼
         ┌──────────────────────────────────────────────┐
         │             Actionable Verdict               │
         │   "Protein Sprinkle Trick Detected"          │
         │   Optimized For: Quick pre-workout carbs     │
         │   Avoid If: Diabetic / Strict Calorie Deficit│
         └──────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Who Would Pay For It? (The Side Hustle Business Model)
&lt;/h3&gt;

&lt;p&gt;FoodTruth is built with a direct commercial monetization pathway:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;B2C Micro-SaaS (Consumer Grocery Companion)&lt;/strong&gt;: A mobile web app / PWA subscription ($4.99/month or $39/year) targeting diabetics, keto athletes, parents, and health-conscious consumers who want a 2-second barcode/packaging camera scan while walking supermarket aisles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pro Coach / Dietitian Pantry Audits ($19/mo per seat)&lt;/strong&gt;: Fitness trainers, dietitians, and functional medicine practitioners who audit clients' pantry items and generate branded, PDF-exportable nutritional truth reports.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;B2B Pre-Print Packaging Compliance API ($49/audit or $199/mo)&lt;/strong&gt;: Emerging D2C clean-label food brands and packaging design agencies need to pre-audit their label artwork against FSSAI and FDA advertising regulations &lt;em&gt;before&lt;/em&gt; committing thousands of dollars to physical printing and risking regulatory notices or product recalls.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live Repository&lt;/strong&gt;: &lt;a href="https://github.com/dasouvik122005/FoodTruth" rel="noopener noreferrer"&gt;https://github.com/dasouvik122005/FoodTruth&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Interactive Setup&lt;/strong&gt;: Clone the repo, launch FastAPI (&lt;code&gt;python main.py&lt;/code&gt;) and Vite (&lt;code&gt;npm run dev&lt;/code&gt;), then test live packaging scans or choose from pre-loaded real-world audit payloads (&lt;em&gt;Yoga Bar&lt;/em&gt;, &lt;em&gt;The Whole Truth&lt;/em&gt;, and &lt;em&gt;SuperYou Wafer&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  User Interface Highlights
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Bespoke Editorial Aesthetic&lt;/strong&gt;: Designed with an editorial high-contrast light layout, split-screen desktop experience, and fluid mobile-first ergonomics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;In-App Camera Viewfinder&lt;/strong&gt;: Integrated mobile camera capture with canvas-based shutter action for instant grocery shelf snapping.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deterministic Metric Cards&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Metabolic Sugar Risk&lt;/strong&gt;: High/Moderate/Low risk calculation based on real Glycemic Index (GI) database mapping.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protein Quality Tier&lt;/strong&gt;: Classifies proteins by DIAAS bioavailability (Tier 1 Whey Isolate down to Tier 3 Wheat Gluten/Flour fillers).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calorie Yield (P:Cal)&lt;/strong&gt;: Calculates what percentage of total calories actually comes from bioavailable protein vs caloric padding.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FSSAI Violation Alerts&lt;/strong&gt;: Real-time legal citations identifying specific regulatory breaches.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;The entire codebase is open-source under the MIT license at GitHub:&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/dasouvik122005" rel="noopener noreferrer"&gt;
        dasouvik122005
      &lt;/a&gt; / &lt;a href="https://github.com/dasouvik122005/FoodTruth" rel="noopener noreferrer"&gt;
        FoodTruth
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      FoodTruth uses Gemma to analyze food packaging, extract nutritional data, and audit for compliance and health warnings.
    &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;FoodTruth&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;FoodTruth is an AI-powered application that analyzes food packaging images (front and back) to extract nutritional information and ingredients. It uses the Gemini API for precise data extraction and runs comprehensive audits against predefined rules to verify compliance and highlight potential health warnings.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Automated Data Extraction&lt;/strong&gt;: Upload images of food labels, and the system automatically extracts nutrition facts and ingredient lists using Google's Gemini models.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rule-Based Auditing&lt;/strong&gt;: Runs safety and compliance checks on the extracted data, identifying things like hidden sugars, allergens, or misleading claims.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive UI&lt;/strong&gt;: A modern React frontend built with Vite and Tailwind CSS to easily review results.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Demo Mode&lt;/strong&gt;: Includes pre-configured demo samples for quick testing.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🛠️ Tech Stack&lt;/h2&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: React 19, TypeScript, Vite, Tailwind CSS v4&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: Python, FastAPI, Uvicorn&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI/ML&lt;/strong&gt;: Google GenAI (Gemini)&lt;/li&gt;
&lt;/ul&gt;

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

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Node.js&lt;/strong&gt; (v18 or higher)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python&lt;/strong&gt; (v3.10 or higher)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google&lt;/strong&gt;…&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/dasouvik122005/FoodTruth" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;
  
  
  Key Architectural Highlights
&lt;/h3&gt;

&lt;p&gt;FoodTruth is architected into three clean decoupled layers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: React 19, TypeScript, Tailwind CSS v4, dynamic camera capture stream via &lt;code&gt;navigator.mediaDevices&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: FastAPI (Python 3.10+), Pydantic v2 strict schema validation, asynchronous image streaming.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Vision &amp;amp; Audit Pipeline&lt;/strong&gt;: Google Gemma open-weight models (&lt;code&gt;gemma-4-26b-a4b-it&lt;/code&gt; / &lt;code&gt;gemma-4-31b-it&lt;/code&gt;) extracting structured entities into Pydantic models, fed into a deterministic regulatory engine.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;
  
  
  1. The Pydantic Extraction Schema (&lt;code&gt;backend/models.py&lt;/code&gt;)
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;ExtractionData&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BaseModel&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;product_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;
    &lt;span class="n"&gt;serving_size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Optional&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;ServingSize&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Field&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;default_factory&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;ServingSize&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;front_claims&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;macros_per_serving&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Optional&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;MacrosPerServing&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Field&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;default_factory&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;MacrosPerServing&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;ingredients_raw&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;parenthetical_sub_ingredients&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;ParentheticalSubIngredient&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;disease_or_medicinal_claims&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Field&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;default_factory&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;has_nutrition_table&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bool&lt;/span&gt;
    &lt;span class="n"&gt;has_ingredient_list&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bool&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  2. The "Protein Sprinkle Trick" &amp;amp; Sweetener Detection Algorithm (&lt;code&gt;backend/rules.py&lt;/code&gt;)
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Detect if a brand claims 'Whey Protein' on front, but buries it behind cheap fillers
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;audit_protein&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;ExtractionData&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;ProteinAudit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;ingredients&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;strip&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ingredients_raw&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="n"&gt;first_tier1_idx&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;idx&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ing&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ingredients&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;t1&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;PROTEIN_TIERS&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;TIER_1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sources&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;t1&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;ing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;first_tier1_idx&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="n"&gt;first_tier1_idx&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;idx&lt;/span&gt;
                &lt;span class="k"&gt;break&lt;/span&gt;

    &lt;span class="n"&gt;front_claims_lower&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;front_claims&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;claims_whey&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;any&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;whey&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;front_claims_lower&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# In food labeling, ingredients are listed by descending weight.
&lt;/span&gt;    &lt;span class="c1"&gt;# If Whey is claimed on front but appears past index 2, it is a sprinkle!
&lt;/span&gt;    &lt;span class="n"&gt;sprinkle_trick&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;claims_whey&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;first_tier1_idx&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;first_tier1_idx&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nc"&gt;ProteinAudit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;declared_g&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;macros_per_serving&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;protein_g&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="mf"&gt;0.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;source_tier&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;top_tier&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;true_source&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;true_source&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;sprinkle_trick_detected&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;sprinkle_trick&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;
&lt;h3&gt;
  
  
  The Open-Source AI Stack
&lt;/h3&gt;

&lt;p&gt;FoodTruth is built around &lt;strong&gt;Gemma open-weight models&lt;/strong&gt; (&lt;code&gt;gemma-4-26b-a4b-it&lt;/code&gt; and &lt;code&gt;gemma-4-31b-it&lt;/code&gt;), Google's family of lightweight, state-of-the-art open models. &lt;/p&gt;
&lt;h4&gt;
  
  
  Why Open-Weight Vision Models?
&lt;/h4&gt;

&lt;p&gt;Analyzing food packaging is notoriously difficult for classical OCR:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Packaged labels are curved, glossy, wrinkled, or photographed under poor grocery fluorescent lighting.&lt;/li&gt;
&lt;li&gt;Nutrition facts exist in non-standard tabular grids, dual columns (per 100g vs per serving), and multi-language panels.&lt;/li&gt;
&lt;li&gt;Ingredients are packed into dense, micro-font comma-separated lists with parenthetical sub-ingredients (e.g. &lt;em&gt;"Compound Chocolate [Sugar, Hydrogenated Vegetable Fat, Cocoa Solids, Emulsifier (INS 322)]"&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Gemma's multimodal architecture performs holistic scene understanding: it locates both panels across arbitrary image orientations, transcribes ingredient text verbatim, normalizes nutritional metrics to grams, and outputs strict JSON matching our Pydantic schema in a single pass.&lt;/p&gt;

&lt;h4&gt;
  
  
  Hybrid AI + Deterministic Rules Architecture
&lt;/h4&gt;

&lt;p&gt;Instead of asking an LLM to hallucinate whether a product is "healthy" (which produces vague, non-reproducible answers), FoodTruth employs a &lt;strong&gt;neuro-symbolic pipeline&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Perception Layer (Gemma)&lt;/strong&gt;: Performs vision OCR and extracts ground-truth product facts (exact ingredient sequence, front claim quotes, declared macro numbers).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audit Layer (Python Deterministic Engine)&lt;/strong&gt;: Evaluates the extracted entities against an immutable glycemic index database (&lt;code&gt;SWEETENER_DB&lt;/code&gt;), bioavailability tables (&lt;code&gt;PROTEIN_TIERS&lt;/code&gt;), and statutory regex patterns (&lt;code&gt;DISEASE_CLAIM_PATTERNS&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verdict Generation&lt;/strong&gt;: Produces explainable, reproducible scores that can stand up to regulatory scrutiny.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;h3&gt;
  
  
  1. Sovereignty Over Personal Health Telemetry
&lt;/h3&gt;

&lt;p&gt;What you eat and the medical conditions you manage (Type 2 diabetes, insulin resistance, celiac disease, hypertension) represent some of the most sensitive personal data that exists. Closed, proprietary AI platforms log every prompt and image scan to enrich user ad-tracking profiles. Open-weight models like Gemma can run locally on edge hardware or private self-hosted servers, ensuring zero health telemetry leaks to third parties.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Impartiality and Truth Without Corporate Censorship
&lt;/h3&gt;

&lt;p&gt;Closed foundation models are operated by massive cloud conglomerates with deep commercial ties to multinational food and beverage advertisers. Can consumers truly trust a closed-source model's nutritional advice when proprietary guardrails might quietly downplay the harms of ultra-processed food formulations? &lt;/p&gt;

&lt;p&gt;Open innovation guarantees &lt;strong&gt;algorithmic transparency&lt;/strong&gt;. Every prompt, every weight tensor, and every rule in FoodTruth is public, auditable by independent nutrition scientists, and immune to corporate lobbying.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Democratizing Preventive Healthcare in Emerging Markets
&lt;/h3&gt;

&lt;p&gt;Countries like India, Mexico, and Brazil are facing catastrophic surges in lifestyle diseases and diabetes fueled by ultra-processed food marketing. Closed API token fees ($0.03–$0.05 per multimodal call) make consumer scanning tools economically unviable for everyday shoppers in emerging economies. Open-weight models empower developers to run batch inference or deploy quantised models on community servers at near-zero marginal cost.&lt;/p&gt;

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

&lt;p&gt;This project was developed end-to-end with &lt;strong&gt;Antigravity&lt;/strong&gt;, Google's agentic coding assistant. The agent session encompassed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Designing the dual-panel OCR prompt and Pydantic validation schema.&lt;/li&gt;
&lt;li&gt;Implementing the glycemic risk and "protein sprinkle trick" heuristic engines.&lt;/li&gt;
&lt;li&gt;Refactoring the frontend into a responsive, editorial interface with mobile camera viewfinder integration.&lt;/li&gt;
&lt;li&gt;Resolving edge cases with non-standard nutritional tables and missing panels.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can inspect the agent transcript through DevRelay:&lt;br&gt;
&lt;code&gt;{% agent_session a56d77e3-18a5-48b8-b5ba-c0c56fea78a7 %}&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My First User
&lt;/h2&gt;

&lt;p&gt;During development, I tested FoodTruth with a friend who is actively managing pre-diabetes and trying to maintain a high-protein calorie deficit for weight loss. &lt;/p&gt;

&lt;p&gt;We scanned a popular supermarket "High Protein Wafer" claiming &lt;em&gt;"10g Whey Protein"&lt;/em&gt; and &lt;em&gt;"No Added Sugar"&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Audit Results Shocked Him:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The Protein Lie&lt;/strong&gt;: Whey protein concentrate was placed 5th in the ingredient list — behind wheat flour (maida), maltitol, soy protein isolate, and hydrogenated vegetable oil. The front claim of "Whey" was pure marketing dilution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Sweetener Trap&lt;/strong&gt;: The product contained 12g of Maltitol, which triggers gastrointestinal distress and has a glycemic index that still impacts blood glucose.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Illegal Claim&lt;/strong&gt;: The label claimed the product was "Clinically proven to reverse diabetes" — a direct violation of FSSAI advertising standards.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;His Reaction:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"I've literally been eating two of these a day thinking I was hitting my protein goals and protecting my blood sugar. Finding out that the whey is basically just sprinkled on top of maida and vegetable oil is infuriating. If this were an app on my phone, I'd easily pay $5 a month just to scan items in the grocery aisle before buying them."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That feedback confirmed the side hustle thesis: consumers don't want generic calorie counters; they want a ruthless advocate that exposes label deception.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Built with passion for food transparency and open-source innovation during Hacktoberfest 2026.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Genuire</title>
      <dc:creator>Souvik Das</dc:creator>
      <pubDate>Sun, 11 Oct 2026 18:18:25 +0000</pubDate>
      <link>https://dev.to/dasouvik122005/genuire-2g76</link>
      <guid>https://dev.to/dasouvik122005/genuire-2g76</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;&lt;strong&gt;Genuire&lt;/strong&gt; is an advanced, real-time AI/ML platform designed to protect job seekers from fraudulent employment opportunities. I built this for a close friend who is actively navigating the difficult job market and recently encountered a highly sophisticated employment scam. &lt;/p&gt;

&lt;p&gt;Genuire solves this problem by actively auditing job descriptions, verifying URLs and corporate registrations, and analyzing recruiter contact channels. It acts as a shield, calculating a comprehensive &lt;strong&gt;Trust Score (0-100%)&lt;/strong&gt; using a 5-Pillar Trust Engine before the applicant submits any sensitive data, ensuring they don't fall victim to phishing or identity theft.&lt;/p&gt;

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


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://genuire.onrender.com" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;genuire.onrender.com&lt;/span&gt;
          

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


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


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/rashmi-crypto" rel="noopener noreferrer"&gt;
        rashmi-crypto
      &lt;/a&gt; / &lt;a href="https://github.com/rashmi-crypto/Genuire" rel="noopener noreferrer"&gt;
        Genuire
      &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;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/rashmi-crypto/Genuire/static/logo.jpeg"&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%2Frashmi-crypto%2FGenuire%2FHEAD%2Fstatic%2Flogo.jpeg" alt="Genuire Logo" width="150"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/c53fd61d33051bc82f955dbcd2477ce47ef82d792d971ff2e1575b561dd21d59/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e31322d626c75653f7374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/c53fd61d33051bc82f955dbcd2477ce47ef82d792d971ff2e1575b561dd21d59/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e31322d626c75653f7374796c653d666c61742d737175617265" alt="Python 3.12"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/6fd5a38695f28a49a543f2c1b9acac228100f350f3fb06f45e578adffcd61673/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f706c6174666f726d2d466c61736b2d6f72616e67653f7374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/6fd5a38695f28a49a543f2c1b9acac228100f350f3fb06f45e578adffcd61673/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f706c6174666f726d2d466c61736b2d6f72616e67653f7374796c653d666c61742d737175617265" alt="Flask"&gt;&lt;/a&gt;
&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Genuire: Fake Job Posting Detection Platform&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Genuire&lt;/strong&gt; is an advanced, real-time AI/ML platform designed to protect job seekers from fraudulent employment opportunities. By actively auditing job descriptions, verifying URLs and corporate registrations, and analyzing recruiter contact channels, Genuire calculates a comprehensive &lt;strong&gt;Trust Score (0-100%)&lt;/strong&gt; before applicants submit their sensitive data.&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;✨ Key Features&lt;/h2&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Real-Time Threat Detection&lt;/strong&gt;: Instantaneous analysis of job postings to identify potential scams.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multimodal Gemma Analysis&lt;/strong&gt;: Uses Google's &lt;code&gt;gemma-4-31b-it&lt;/code&gt; vision models to scan uploaded screenshots of job postings for visual and textual fraud indicators.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart URL Scraping&lt;/strong&gt;: Automatically fetches and populates job details (title, company, description) from major job boards for seamless analysis.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;5-Pillar Trust Engine&lt;/strong&gt;: Employs a multi-faceted verification pipeline incorporating machine learning and heuristic risk metrics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Premium Visual Dashboard&lt;/strong&gt;: A sleek, responsive user interface featuring a dynamic horizontal pipeline tracker, automatic Light Mode, and detailed trust telemetry.&lt;/li&gt;
&lt;/ul&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🛠️ System Architecture&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;Genuire…&lt;/p&gt;&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/rashmi-crypto/Genuire" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


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

&lt;p&gt;Genuire is built around a hybrid AI architecture. It leverages Google's open-weights &lt;strong&gt;&lt;code&gt;gemma-4-31b-it&lt;/code&gt;&lt;/strong&gt; vision model to power its multimodal analysis. When a user uploads a screenshot of a suspicious job posting, Gemma scans it for visual and textual fraud indicators.&lt;/p&gt;

&lt;p&gt;The open-source AI is complemented by a high-performance scikit-learn machine learning pipeline. It uses an &lt;code&gt;SGDClassifier&lt;/code&gt; for NLP text analysis and a &lt;code&gt;RandomForestClassifier&lt;/code&gt; for tabular risk data (like location threat ratios and character lengths). The application is glued together using a &lt;strong&gt;Flask&lt;/strong&gt; backend and a responsive Vanilla JS/CSS frontend featuring a dynamic 7-stage verification pipeline tracker.&lt;/p&gt;

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

&lt;p&gt;Open innovation is crucial for security and fraud-prevention tools. By utilizing open-weights models like Gemma and open-source libraries like scikit-learn, developers can completely scrutinize the model's biases and fine-tune its capabilities specifically for threat detection without relying on a black box. &lt;/p&gt;

&lt;p&gt;A closed API would make it difficult to transparently explain &lt;em&gt;why&lt;/em&gt; a particular job posting was flagged or approved. Open innovation made it possible to build a transparent "Trust Engine" where the user can see exactly which of the 5 pillars passed or failed, giving them the confidence and context they need to make safe career decisions.&lt;/p&gt;

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

&lt;p&gt;For this project, I pair-programmed extensively with my AI coding agent (Google Gemini/Antigravity). The agent was instrumental in helping me architect the 5-Pillar Trust Engine, fine-tune the scikit-learn models for better accuracy, and rapidly prototype the Flask backend. We also collaborated closely to polish the CSS for the dynamic horizontal pipeline tracker on the frontend, turning a complex ML backend into a highly premium, user-friendly dashboard!&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gemma - Best Use of Gemma&lt;/strong&gt;: Genuire integrates Google's open-weight &lt;code&gt;gemma-4-31b-it&lt;/code&gt; model to conduct advanced multimodal image analysis on job posting screenshots, extracting visual and textual fraud indicators.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Render - Best Use of Render&lt;/strong&gt;: The entire Genuire Flask application and AI runtime is configured for seamless deployment and hosting on Render, as defined by our &lt;code&gt;render.yaml&lt;/code&gt; configuration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Entire - Best Use of Entire&lt;/strong&gt;: As detailed in the 'My Agent Session' section above, I utilized an AI coding agent to architect the core Trust Engine and build out the frontend styling, sharing that session directly in this write-up.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Team Members
&lt;/h2&gt;

&lt;p&gt;A huge thanks to my amazing teammates who helped bring Genuire! &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a class="mentioned-user" href="https://dev.to/rashmipyne"&gt;@rashmipyne&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Genuire: An AI-Powered Job Scam Detection Platform</title>
      <dc:creator>Souvik Das</dc:creator>
      <pubDate>Mon, 05 Oct 2026 04:32:55 +0000</pubDate>
      <link>https://dev.to/dasouvik122005/genuire-an-ai-powered-job-scam-detection-platform-2o3i</link>
      <guid>https://dev.to/dasouvik122005/genuire-an-ai-powered-job-scam-detection-platform-2o3i</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;&lt;strong&gt;Genuire&lt;/strong&gt; is an advanced, real-time AI/ML platform designed to protect job seekers from fraudulent employment opportunities. I built this for a close friend who is actively navigating the difficult job market and recently encountered a highly sophisticated employment scam. &lt;/p&gt;

&lt;p&gt;Genuire solves this problem by actively auditing job descriptions, verifying URLs and corporate registrations, and analyzing recruiter contact channels. It acts as a shield, calculating a comprehensive &lt;strong&gt;Trust Score (0-100%)&lt;/strong&gt; using a 5-Pillar Trust Engine before the applicant submits any sensitive data, ensuring they don't fall victim to phishing or identity theft.&lt;/p&gt;

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


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://genuire.onrender.com" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;genuire.onrender.com&lt;/span&gt;
          

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


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


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/rashmi-crypto" rel="noopener noreferrer"&gt;
        rashmi-crypto
      &lt;/a&gt; / &lt;a href="https://github.com/rashmi-crypto/Genuire" rel="noopener noreferrer"&gt;
        Genuire
      &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;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/rashmi-crypto/Genuire/static/logo.jpeg"&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%2Frashmi-crypto%2FGenuire%2FHEAD%2Fstatic%2Flogo.jpeg" alt="Genuire Logo" width="150"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/c53fd61d33051bc82f955dbcd2477ce47ef82d792d971ff2e1575b561dd21d59/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e31322d626c75653f7374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/c53fd61d33051bc82f955dbcd2477ce47ef82d792d971ff2e1575b561dd21d59/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e31322d626c75653f7374796c653d666c61742d737175617265" alt="Python 3.12"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/6fd5a38695f28a49a543f2c1b9acac228100f350f3fb06f45e578adffcd61673/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f706c6174666f726d2d466c61736b2d6f72616e67653f7374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/6fd5a38695f28a49a543f2c1b9acac228100f350f3fb06f45e578adffcd61673/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f706c6174666f726d2d466c61736b2d6f72616e67653f7374796c653d666c61742d737175617265" alt="Flask"&gt;&lt;/a&gt;
&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Genuire: Fake Job Posting Detection Platform&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Genuire&lt;/strong&gt; is an advanced, real-time AI/ML platform designed to protect job seekers from fraudulent employment opportunities. By actively auditing job descriptions, verifying URLs and corporate registrations, and analyzing recruiter contact channels, Genuire calculates a comprehensive &lt;strong&gt;Trust Score (0-100%)&lt;/strong&gt; before applicants submit their sensitive data.&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;✨ Key Features&lt;/h2&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Real-Time Threat Detection&lt;/strong&gt;: Instantaneous analysis of job postings to identify potential scams.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multimodal Gemma Analysis&lt;/strong&gt;: Uses Google's &lt;code&gt;gemma-4-31b-it&lt;/code&gt; vision models to scan uploaded screenshots of job postings for visual and textual fraud indicators.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart URL Scraping&lt;/strong&gt;: Automatically fetches and populates job details (title, company, description) from major job boards for seamless analysis.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;5-Pillar Trust Engine&lt;/strong&gt;: Employs a multi-faceted verification pipeline incorporating machine learning and heuristic risk metrics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Premium Visual Dashboard&lt;/strong&gt;: A sleek, responsive user interface featuring a dynamic horizontal pipeline tracker, automatic Light Mode, and detailed trust telemetry.&lt;/li&gt;
&lt;/ul&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🛠️ System Architecture&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;Genuire…&lt;/p&gt;&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/rashmi-crypto/Genuire" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


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

&lt;p&gt;Genuire is built around a hybrid AI architecture. It leverages Google's open-weights &lt;strong&gt;&lt;code&gt;gemma-4-31b-it&lt;/code&gt;&lt;/strong&gt; vision model to power its multimodal analysis. When a user uploads a screenshot of a suspicious job posting, Gemma scans it for visual and textual fraud indicators.&lt;/p&gt;

&lt;p&gt;The open-source AI is complemented by a high-performance scikit-learn machine learning pipeline. It uses an &lt;code&gt;SGDClassifier&lt;/code&gt; for NLP text analysis and a &lt;code&gt;RandomForestClassifier&lt;/code&gt; for tabular risk data (like location threat ratios and character lengths). The application is glued together using a &lt;strong&gt;Flask&lt;/strong&gt; backend and a responsive Vanilla JS/CSS frontend featuring a dynamic 7-stage verification pipeline tracker.&lt;/p&gt;

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

&lt;p&gt;Open innovation is crucial for security and fraud-prevention tools. By utilizing open-weights models like Gemma and open-source libraries like scikit-learn, developers can completely scrutinize the model's biases and fine-tune its capabilities specifically for threat detection without relying on a black box. &lt;/p&gt;

&lt;p&gt;A closed API would make it difficult to transparently explain &lt;em&gt;why&lt;/em&gt; a particular job posting was flagged or approved. Open innovation made it possible to build a transparent "Trust Engine" where the user can see exactly which of the 5 pillars passed or failed, giving them the confidence and context they need to make safe career decisions.&lt;/p&gt;

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

&lt;p&gt;For this project, I pair-programmed extensively with my AI coding agent (Google Gemini/Antigravity). The agent was instrumental in helping me architect the 5-Pillar Trust Engine, fine-tune the scikit-learn models for better accuracy, and rapidly prototype the Flask backend. We also collaborated closely to polish the CSS for the dynamic horizontal pipeline tracker on the frontend, turning a complex ML backend into a highly premium, user-friendly dashboard!&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gemma - Best Use of Gemma&lt;/strong&gt;: Genuire integrates Google's open-weight &lt;code&gt;gemma-4-31b-it&lt;/code&gt; model to conduct advanced multimodal image analysis on job posting screenshots, extracting visual and textual fraud indicators.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Render - Best Use of Render&lt;/strong&gt;: The entire Genuire Flask application and AI runtime is configured for seamless deployment and hosting on Render, as defined by our &lt;code&gt;render.yaml&lt;/code&gt; configuration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Entire - Best Use of Entire&lt;/strong&gt;: As detailed in the 'My Agent Session' section above, I utilized an AI coding agent to architect the core Trust Engine and build out the frontend styling, sharing that session directly in this write-up.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Team Members
&lt;/h2&gt;

&lt;p&gt;A huge thanks to my amazing teammates who helped bring Genuire! &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a class="mentioned-user" href="https://dev.to/rashmipyne"&gt;@rashmipyne&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

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