<?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: Sunayana Yakkala</title>
    <description>The latest articles on DEV Community by Sunayana Yakkala (@sunayana225).</description>
    <link>https://dev.to/sunayana225</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%2F4161663%2Fdbbe482b-1817-4980-9af6-9ba373246472.png</url>
      <title>DEV Community: Sunayana Yakkala</title>
      <link>https://dev.to/sunayana225</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sunayana225"/>
    <language>en</language>
    <item>
      <title>PetPal — A Local-First Pet Food Safety Checker</title>
      <dc:creator>Sunayana Yakkala</dc:creator>
      <pubDate>Sun, 04 Oct 2026 15:13:50 +0000</pubDate>
      <link>https://dev.to/sunayana225/petpal-a-local-first-pet-food-safety-checker-504e</link>
      <guid>https://dev.to/sunayana225/petpal-a-local-first-pet-food-safety-checker-504e</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;PetPal&lt;/strong&gt;, an open-source pet food safety checker designed for pet owners who constantly find themselves asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Can my pet eat this?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Pet owners often have to search through multiple websites, forums, and conflicting sources just to determine whether a particular food is safe for their pet.&lt;/p&gt;

&lt;p&gt;PetPal makes this simpler. You select an animal, enter a food, and receive a clear verdict:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Safe&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Caution&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Unsafe&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Unknown&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The important part is that PetPal doesn't blindly trust AI. It uses a layered approach, prioritizing reliable sources first:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A curated veterinary food-safety database&lt;/li&gt;
&lt;li&gt;Open Pet Food Facts for foods that aren't in the local dataset&lt;/li&gt;
&lt;li&gt;An open-weight AI model running locally through Ollama for unknown foods&lt;/li&gt;
&lt;li&gt;An honest &lt;code&gt;Unknown&lt;/code&gt; result when there isn't enough information&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Every answer also identifies its source, so users can understand where the verdict came from.&lt;/p&gt;

&lt;p&gt;PetPal currently supports &lt;strong&gt;10 species&lt;/strong&gt;: dogs, cats, rabbits, hamsters, birds, turtles, fish, lizards, snakes, and chickens.&lt;/p&gt;

&lt;p&gt;I built it with a pet owner in mind who wants quick answers about their pet's food without having to rely on random internet searches or send every question to a cloud AI service.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;GitHub Repository:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/Sunayana225/hactoberfestproject1" rel="noopener noreferrer"&gt;https://github.com/Sunayana225/hactoberfestproject1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A live deployed demo is not currently included in the repository. PetPal can be run locally with the web client, backend, and optional mobile client.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/Sunayana225/hactoberfestproject1" rel="noopener noreferrer"&gt;https://github.com/Sunayana225/hactoberfestproject1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React + Vite + Tailwind web application&lt;/li&gt;
&lt;li&gt;Expo / React Native mobile application&lt;/li&gt;
&lt;li&gt;Express + TypeScript backend&lt;/li&gt;
&lt;li&gt;SQLite-backed authentication and API-key management&lt;/li&gt;
&lt;li&gt;Veterinary and open food-safety datasets&lt;/li&gt;
&lt;li&gt;Local AI inference through Ollama&lt;/li&gt;
&lt;li&gt;Optional Gemini cloud fallback&lt;/li&gt;
&lt;li&gt;Automated tests with Jest and Vitest&lt;/li&gt;
&lt;li&gt;API rate limiting, authentication, usage tracking, and monitoring&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;The core of PetPal is an &lt;strong&gt;open-weight AI model running locally through Ollama&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The AI layer is implemented behind an &lt;code&gt;AIProvider&lt;/code&gt; abstraction, allowing the application to switch between:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ollama for local open-weight inference&lt;/li&gt;
&lt;li&gt;Gemini for optional cloud inference&lt;/li&gt;
&lt;li&gt;An automatic mode that prefers local inference&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The default setup uses Ollama with &lt;code&gt;llama3.2&lt;/code&gt;, but the model can be changed through an environment variable to models such as &lt;code&gt;qwen2.5&lt;/code&gt;, &lt;code&gt;gemma3&lt;/code&gt;, &lt;code&gt;mistral&lt;/code&gt;, or &lt;code&gt;phi4&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The application deliberately does &lt;strong&gt;not&lt;/strong&gt; send every question directly to an AI model.&lt;/p&gt;

&lt;p&gt;Instead, PetPal follows a data-first pipeline:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User → Veterinary/Open Dataset → External Open Dataset → Local AI → Unknown&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This makes the AI a fallback rather than the source of truth.&lt;/p&gt;

&lt;p&gt;For unknown foods, the local model produces a clearly labelled answer. These AI-generated answers are then placed into a &lt;strong&gt;human review queue&lt;/strong&gt; instead of being silently added to the trusted dataset. Approved answers can eventually become part of the application's knowledge base.&lt;/p&gt;

&lt;p&gt;The project uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Express, TypeScript, SQLite&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web:&lt;/strong&gt; React, Vite, Tailwind CSS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mobile:&lt;/strong&gt; Expo, React Native, TypeScript&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI:&lt;/strong&gt; Ollama + open-weight models&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optional cloud AI:&lt;/strong&gt; Gemini&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Testing:&lt;/strong&gt; Jest, Supertest, Vitest&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data:&lt;/strong&gt; Curated veterinary data, BioVet, Growli/ASPCA plant-toxicity data, and generated seed data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project also includes a developer API with authentication, API keys, quotas, usage tracking, and protected dataset endpoints.&lt;/p&gt;

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

&lt;p&gt;Open innovation is central to PetPal rather than being an additional feature.&lt;/p&gt;

&lt;p&gt;A closed cloud AI API would have made the initial implementation easier, but it would have introduced several limitations.&lt;/p&gt;

&lt;p&gt;With a closed cloud model:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The application needs an internet connection for AI answers.&lt;/li&gt;
&lt;li&gt;Users need access to an API key or account.&lt;/li&gt;
&lt;li&gt;Pet-related questions have to leave the user's device.&lt;/li&gt;
&lt;li&gt;Every AI request can incur a cost.&lt;/li&gt;
&lt;li&gt;Developers cannot freely change or experiment with the underlying model.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using an open-weight model through Ollama changes those assumptions.&lt;/p&gt;

&lt;p&gt;PetPal can run &lt;strong&gt;locally&lt;/strong&gt;, without requiring an AI API key, and without sending the user's questions to a third-party AI provider. The model can also be swapped simply through configuration.&lt;/p&gt;

&lt;p&gt;More importantly, the open approach makes the system extensible. Developers can inspect the runtime, change the model, modify the prompts, and eventually fine-tune a model using the application's human-reviewed answers.&lt;/p&gt;

&lt;p&gt;This creates a potential feedback loop:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI answer → Human review → Vetted data → Better local model&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That would be difficult to achieve with a closed API where the underlying model and training process are controlled by the provider.&lt;/p&gt;

&lt;p&gt;For PetPal, open innovation therefore isn't just about avoiding API costs. It enables &lt;strong&gt;privacy by architecture, offline use, model choice, inspectability, and a path toward community-driven improvement.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;Not included yet.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Build for a Friend&lt;/li&gt;
&lt;li&gt;Open-Source AI / Open Innovation&lt;/li&gt;
&lt;/ul&gt;

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