<?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: SURAM PRANEETH REDDY</title>
    <description>The latest articles on DEV Community by SURAM PRANEETH REDDY (@suram_praneethreddy_a087).</description>
    <link>https://dev.to/suram_praneethreddy_a087</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%2F4070036%2F88c11490-f304-4a43-b6d1-85aed7a20147.png</url>
      <title>DEV Community: SURAM PRANEETH REDDY</title>
      <link>https://dev.to/suram_praneethreddy_a087</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/suram_praneethreddy_a087"/>
    <language>en</language>
    <item>
      <title># From Barcodes to Allergen Shields: Building a Food Safety Scanner Deployed on Zerops</title>
      <dc:creator>SURAM PRANEETH REDDY</dc:creator>
      <pubDate>Sun, 09 Aug 2026 15:50:24 +0000</pubDate>
      <link>https://dev.to/suram_praneethreddy_a087/-from-barcodes-to-allergen-shields-building-a-food-safety-scanner-deployed-on-zerops-p9i</link>
      <guid>https://dev.to/suram_praneethreddy_a087/-from-barcodes-to-allergen-shields-building-a-food-safety-scanner-deployed-on-zerops-p9i</guid>
      <description>&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%2F66o9n1m6zbov5paul9mr.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%2F66o9n1m6zbov5paul9mr.png" alt=" " width="799" height="391"&gt;&lt;/a&gt;&lt;br&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%2Fpkl5agpbn1ajbfzc2yhg.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%2Fpkl5agpbn1ajbfzc2yhg.png" alt=" " width="799" height="473"&gt;&lt;/a&gt;&lt;br&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%2F8snnoa3q0p7t1inx7fdi.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%2F8snnoa3q0p7t1inx7fdi.png" alt=" " width="799" height="417"&gt;&lt;/a&gt;Groceries shouldn't feel like a reading test. If you have peanut allergies, lactose intolerance, are trying to eat vegan, or need a low-sodium diet, grocery shopping becomes a slow marathon of reading chemical names on package labels. &lt;/p&gt;

&lt;p&gt;For the &lt;strong&gt;WeMakeDevs Zerops Hackathon&lt;/strong&gt;, I built &lt;strong&gt;NutriGuard&lt;/strong&gt; — a premium, real-time agentic food safety scanner and nutrition auditing dashboard that does the evaluation for you instantly.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎨 The Aesthetic: Playful &amp;amp; Clean "Supernatural" Design
&lt;/h2&gt;

&lt;p&gt;Instead of a crowded dashboard, I took inspiration from the all-natural brand &lt;strong&gt;Supernatural&lt;/strong&gt; (dye-free baking toppings). &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Warm Paper Grid Canvas:&lt;/strong&gt; Clean warm off-white background with a faint dot matrix design.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Ink-Outlined Flat Cards:&lt;/strong&gt; Content segments look like hand-assembled cardboard boxes with bold outlines (&lt;code&gt;3px solid #1e1e1e&lt;/code&gt;) and flat offsets.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Playful Hand-drawn Typography:&lt;/strong&gt; Headings use playpen font scripts (&lt;code&gt;Playpen Sans&lt;/code&gt;, &lt;code&gt;Gochi Hand&lt;/code&gt;) paired with clean modern text (&lt;code&gt;Outfit&lt;/code&gt;) for ultimate readability.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🛠️ Tech Stack &amp;amp; Architecture (3 Services Deployed on Zerops)
&lt;/h2&gt;

&lt;p&gt;To build a resilient production stack, I designed a multi-service architecture:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Frontend Static Server (React + Vite):&lt;/strong&gt; Handles live webcam barcode feeds (via &lt;code&gt;html5-qrcode&lt;/code&gt;) and client-side label scanning OCR (via &lt;code&gt;Tesseract.js&lt;/code&gt;) so users can upload photos of ingredient tables directly.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Backend Runtime (NodeJS + Express):&lt;/strong&gt; Hosts the custom Allergen Matcher and Goal Evaluation engines. It maps barcodes to the public &lt;strong&gt;Open Food Facts API&lt;/strong&gt; database of millions of products globally.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Database Service (PostgreSQL):&lt;/strong&gt; Stores user baseline profiles (diets, conditions, target goals) and logs scan histories.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  🛡️ Built for Resilience
&lt;/h3&gt;

&lt;p&gt;Since public APIs can rate-limit requests, I built a smart local fallback layer mapping major products (Quaker Oats, Lay's, Coca-Cola) and connection drop-guards so the dashboard is fully functional out-of-the-box even if the database is offline!&lt;/p&gt;




&lt;h2&gt;
  
  
  🔄 How the Workflow Appears
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Configure Shield:&lt;/strong&gt; Set your diet (Vegetarian, Vegan), allergens to avoid, and health goals.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Scan Packaging:&lt;/strong&gt; Align a barcode to your webcam or upload a photo of the ingredients list.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Real-Time Safety Audit:&lt;/strong&gt; The backend fetches details from the Open Food Facts database, runs the matcher matrix, and returns a clear safe/danger alert.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Smart AI Assistant:&lt;/strong&gt; A custom offline-first chatbot assistant (&lt;code&gt;🤖&lt;/code&gt;) audits product details or accepts a Google Gemini API Key to answer conversational questions about recipes and nutritional alternatives.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  ☁️ The Zerops Deployment Experience
&lt;/h2&gt;

&lt;p&gt;Deploying a multi-service static-app + backend-api + database stack normally requires configuring Dockerfiles, handling ingress routes, and managing secrets.&lt;/p&gt;

&lt;p&gt;With &lt;strong&gt;Zerops&lt;/strong&gt;, the deployment pipeline took under 5 minutes using two simple files:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;&lt;code&gt;zerops-import.yaml&lt;/code&gt;&lt;/strong&gt;: Instantly provisions our Static Frontend container, Node.js API container, and a managed PostgreSQL database container in one import step.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;&lt;code&gt;zerops.yaml&lt;/code&gt;&lt;/strong&gt;: Outlines our React build commands and Node start commands.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once I connected my GitHub repo, Zerops read the files and launched the production endpoints automatically. Every push to my repository now triggers an automatic deployment.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Get Started
&lt;/h2&gt;

&lt;p&gt;Check out the code and deploy it yourself!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Source Code:&lt;/strong&gt; &lt;a href="https://github.com/praneethreddyyy30/zerops" rel="noopener noreferrer"&gt;https://github.com/praneethreddyyy30/zerops&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Hackathon Challenge:&lt;/strong&gt; WeMakeDevs Zerops Challenge&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Live link:&lt;/strong&gt;&lt;a href="https://frontend-2e19.prg1.zerops.app" rel="noopener noreferrer"&gt;https://frontend-2e19.prg1.zerops.app&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A huge thanks to WeMakeDevs and the Zerops team for hosting this challenge!&lt;/p&gt;

</description>
      <category>zerops</category>
      <category>webdev</category>
      <category>hackathon</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
