<?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: Aditya Arora</title>
    <description>The latest articles on DEV Community by Aditya Arora (@aditya_arora).</description>
    <link>https://dev.to/aditya_arora</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%2F4173593%2F0764bb69-6bff-4043-9d84-dde7409e2f24.jpg</url>
      <title>DEV Community: Aditya Arora</title>
      <link>https://dev.to/aditya_arora</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aditya_arora"/>
    <language>en</language>
    <item>
      <title>SlothCart: Snap Your Fridge, Get Your Grocery List (Open-Weight AI, Zero Door-Staring)</title>
      <dc:creator>Aditya Arora</dc:creator>
      <pubDate>Mon, 19 Oct 2026 21:24:09 +0000</pubDate>
      <link>https://dev.to/aditya_arora/slothcart-snap-your-fridge-get-your-grocery-list-open-weight-ai-zero-door-staring-4g6j</link>
      <guid>https://dev.to/aditya_arora/slothcart-snap-your-fridge-get-your-grocery-list-open-weight-ai-zero-door-staring-4g6j</guid>
      <description>&lt;p&gt;What I Built&lt;/p&gt;

&lt;p&gt;Idea chosen: "A fridge photo to grocery list tool, so you never have to stand there with the door open again."&lt;/p&gt;

&lt;p&gt;SlothCart is a deliberately lazy kitchen helper. You take one photo of your open fridge and one of your pantry shelf, and that is the last bit of effort required. SlothCart looks at what's actually there, works out what's running low or missing, and hands you a ready-to-shop grocery list sorted by store aisle. It also suggests two or three meals you could make with what you already have, so the list focuses on filling gaps instead of buying duplicates.&lt;/p&gt;

&lt;p&gt;The sloth-friendly extras:&lt;/p&gt;

&lt;p&gt;Staples memory: Tell it once that you always want milk, eggs, and coffee on hand, and it quietly checks for them every time.&lt;br&gt;
Expiry nudges: It flags things that look like they need using up soon, such as wilting greens or a nearly empty jar, and builds a meal idea around them.&lt;br&gt;
One-tap output: Copy the list to your notes app, or share it with a housemate so they can do the shopping instead.&lt;/p&gt;

&lt;p&gt;Who it's for: Busy people, students, households that keep buying a fourth jar of mustard, and anyone who dreads the "what do we need?" ritual before a grocery run.&lt;/p&gt;

&lt;p&gt;Demo&lt;br&gt;
Deployed Application Link: (add your Render URL here)&lt;br&gt;
Video Walkthrough: (add your demo video link here)&lt;/p&gt;

&lt;p&gt;(Embed screenshots or a GIF here: the fridge photo upload, the detected-items review screen, and the finished aisle-sorted grocery list.)&lt;/p&gt;

&lt;p&gt;Code&lt;/p&gt;

&lt;p&gt;(Embed your repository here using the DEV GitHub embed tag.)&lt;/p&gt;

&lt;p&gt;How I Built It&lt;br&gt;
Open-Source AI Framework: The core is Gemma, an open-weight vision-language model that looks at the fridge and pantry photos and returns a structured inventory: item, rough quantity, and a "low / fine / use soon" status. Because it's one open model doing both the seeing and the planning, the same Gemma instance then compares the inventory with your staples list and recipe preferences to produce the shopping list and meal ideas. A confirmation screen shows what it detected, so you can correct a mislabeled jar in one tap instead of retyping a list.&lt;br&gt;
Frontend Architecture: A mobile-first progressive web app in React, built for use in the kitchen: big tap targets, photo capture straight from the camera, and a checklist view that works one-handed in the store.&lt;br&gt;
Backend &amp;amp; Hosting: A small API deployed on Render stores your staples, household members, and shared lists, and runs the model endpoint for anyone who doesn't want to host Gemma themselves. People who prefer full control can run everything locally with the same code.&lt;br&gt;
Integrations: SerpApi looks up nearby grocery stores and current local prices and availability for the items on your list, so you can see which nearby store has the best total or whether something is out of stock before you leave the house. The model handles judgment, and SerpApi handles live facts.&lt;/p&gt;

&lt;p&gt;How it flows: (1) Snap the fridge and pantry. (2) Gemma builds the inventory and you fix any mistakes in one tap. (3) SlothCart merges that with your staples and meal ideas. (4) SerpApi suggests where to shop. (5) You walk out with a sorted list and zero time spent staring into the fridge.&lt;/p&gt;

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

&lt;p&gt;Your kitchen stays yours. A fridge photo reveals more than people expect: diet, health conditions, religion, household size, even when you're away. With an open-weight model, those photos can be processed on your own machine or home server and never need to be uploaded to a company that stores them.&lt;/p&gt;

&lt;p&gt;Set it up once and don't pay again. This is something you use constantly, every week, for years. A closed vision API charges per image forever, which is a poor fit for a tool whose whole job is to save you small amounts of effort. Running an open model means the marginal cost of each fridge scan is effectively zero.&lt;/p&gt;

&lt;p&gt;Tuned to how people actually eat. Closed general-purpose models are good at the average kitchen. Because the weights are open, a household or community can adapt the model and prompts to their own cuisine and ingredients, whether that's regional produce, specific brands, or a particular diet, so it stops mistaking one ingredient for another.&lt;/p&gt;

&lt;p&gt;It keeps working. Self-hosting means no surprise price hikes, no deprecated endpoint breaking the app, and the option to swap in a better model later without rebuilding anything. A lazy tool should be one you can set up once and forget about.&lt;/p&gt;

&lt;p&gt;Prize Categories&lt;br&gt;
Best Use of Gemma&lt;br&gt;
Best Use of Render&lt;br&gt;
Best Use of SerpApi&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>ListSmith: Turn Product Photos Into Polished Etsy &amp; eBay Listings, Running on Open Models</title>
      <dc:creator>Aditya Arora</dc:creator>
      <pubDate>Mon, 12 Oct 2026 21:36:28 +0000</pubDate>
      <link>https://dev.to/aditya_arora/listsmith-turn-product-photos-into-polished-etsy-ebay-listings-running-on-open-models-2ebk</link>
      <guid>https://dev.to/aditya_arora/listsmith-turn-product-photos-into-polished-etsy-ebay-listings-running-on-open-models-2ebk</guid>
      <description>&lt;p&gt;What I Built&lt;/p&gt;

&lt;p&gt;Problem statement: "A listing writer for Etsy or eBay sellers that turns a few product photos into a polished description."&lt;/p&gt;

&lt;p&gt;ListSmith is an open-source listing writer for small online sellers. You drop in two to five photos of an item, such as a hand-thrown mug, a thrifted jacket, or a vintage camera. Within a minute you get a complete, ready-to-paste listing: a title, a description, a bullet list of key details (material, color, condition, visible flaws), suggested tags, and a price range based on what similar items are currently selling for.&lt;/p&gt;

&lt;p&gt;Anyone who has sold online knows the real bottleneck is not the selling, it's writing the fortieth listing of the week at 11pm. A seller who lists in bulk, such as a thrift reseller, a ceramics artist, or a vintage dealer, can save hours every week, which makes the tool easy to justify paying for.&lt;/p&gt;

&lt;p&gt;Who it's for: Solo Etsy and eBay sellers, thrift and vintage resellers, and small craft businesses who want consistent, good-looking listings without hiring a copywriter or sending every product photo to someone else's server.&lt;/p&gt;

&lt;p&gt;How someone would pay for it: The code is open and free to self-host. The side hustle is the convenience layer: a hosted version with a monthly subscription, a done-for-you setup for resellers who don't want to run anything, and custom "brand voice" tuning for shops that want their listings to sound like them.&lt;/p&gt;

&lt;p&gt;Demo&lt;br&gt;
Deployed Application Link: (add your Render URL here)&lt;br&gt;
Video Walkthrough: (add your demo video link here)&lt;/p&gt;

&lt;p&gt;(Embed screenshots or a GIF here: uploading photos, the generated listing with editable fields, and the comparable-price panel.)&lt;/p&gt;

&lt;p&gt;Code&lt;/p&gt;

&lt;p&gt;(Embed your repository here using the DEV GitHub embed tag.)&lt;/p&gt;

&lt;p&gt;How I Built It&lt;br&gt;
Open-Source AI Framework: Photo understanding and writing both run on Gemma, an open-weight vision-language model. It reads the photos and extracts what it can actually see (item type, material, color, pattern, wear, visible damage), then writes the listing from those facts. A strict prompt tells it to describe only what is visible and to flag anything uncertain for the seller to confirm, so it doesn't invent claims like "solid silver" or "mint condition." Everything the model produces lands in an editable form, so the seller always has the final say.&lt;br&gt;
Frontend Architecture: A lightweight React app with drag-and-drop photo upload, side-by-side editing of the generated fields, and one-click copy buttons formatted for Etsy and eBay. A "listing queue" lets sellers batch-process a whole box of items in one sitting.&lt;br&gt;
Backend &amp;amp; Hosting: A small API deployed on Render handles job queuing, the saved brand-voice profiles, and the batch queue. The model can run on the same infrastructure or on the seller's own machine, depending on how privacy-conscious they are.&lt;br&gt;
Integrations: SerpApi pulls live search and shopping results for similar items, which ListSmith uses to suggest a realistic price range and to find keywords buyers actually search for. The listing copy comes from Gemma, and the market data comes from SerpApi, so the two jobs stay cleanly separated.&lt;br&gt;
Brand voice tuning: Sellers paste in three or four of their best existing listings, and ListSmith uses them as style examples so new listings match their tone, whether that's warm and handmade or short and no-nonsense.&lt;/p&gt;

&lt;p&gt;How it flows: (1) Upload photos. (2) Gemma extracts the item's facts. (3) SerpApi supplies comparable prices and keywords. (4) Gemma writes the listing in the seller's voice. (5) The seller reviews, edits, and copies it into their shop.&lt;/p&gt;

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

&lt;p&gt;Cost that actually works for a side hustle. Most sellers earn small margins per item. Paying a per-image, per-token fee to a closed API for every listing eats into that margin and makes pricing unpredictable. With an open-weight model, the cost of one more listing is just compute I control, so I can offer a flat, low subscription and a seller can process a whole box of inventory without watching a meter.&lt;/p&gt;

&lt;p&gt;Privacy for the seller. Unlisted inventory, sourcing details, and product photos are competitive information. Self-hosting means sellers can keep all of it on their own laptop or a server they control, instead of uploading it to a third party.&lt;/p&gt;

&lt;p&gt;Fine-tuning for a niche. A general-purpose closed model writes generic copy. Because the weights are open, a shop can fine-tune or prompt-tune for their category, for example pottery glazes, vintage denim eras, or camera models, and get listings that use the right terminology. A community of resellers can even share category-specific tunes.&lt;/p&gt;

&lt;p&gt;No lock-in. If a model gets better or a vendor changes its pricing, I can swap models without rewriting the product. The business doesn't depend on any one company's roadmap or terms of service.&lt;/p&gt;

&lt;p&gt;Prize Categories&lt;br&gt;
Best Use of Gemma&lt;br&gt;
Best Use of Render&lt;br&gt;
Best Use of SerpApi&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Outside, briefly: a tiny offline AI coach for getting off the screen</title>
      <dc:creator>Aditya Arora</dc:creator>
      <pubDate>Sat, 10 Oct 2026 14:01:18 +0000</pubDate>
      <link>https://dev.to/aditya_arora/outside-briefly-a-tiny-offline-ai-coach-for-getting-off-the-screen-3gh0</link>
      <guid>https://dev.to/aditya_arora/outside-briefly-a-tiny-offline-ai-coach-for-getting-off-the-screen-3gh0</guid>
      <description>&lt;p&gt;What I Built&lt;br&gt;
I built Outside, briefly, a small outdoor activity planner. You describe your mood in a sentence, choose how much time you have, and get a short mission that sends you outside. The goal is for the screen to be the shortest part of the experience.&lt;/p&gt;

&lt;p&gt;I noticed a problem with many wellness apps: even when they encourage a walk, they ask you to keep checking the phone. I wanted the planning step to end quickly. The result gives you a handful of concrete steps and a question to think about when you return. You can print or save the mission card and leave the browser behind.&lt;/p&gt;

&lt;p&gt;It offers four kinds of mission: noticing nature, moving, caring for a place, and connecting with someone. There is an accessible or seated option.&lt;/p&gt;

&lt;p&gt;Demo&lt;br&gt;
Try the live demo. Type “I want a peaceful walk with birds and trees” to see a noticing mission.&lt;/p&gt;

&lt;p&gt;Another example: “I want to water plants in my garden” produces a care mission. The result shows which words influenced the model, so the recommendation is not a mysterious instruction.&lt;/p&gt;

&lt;p&gt;Code&lt;br&gt;
View the MIT-licensed source code.&lt;/p&gt;

&lt;p&gt;How I Built It&lt;br&gt;
The AI core is a transparent, locally trained multinomial Naive Bayes classifier. Forty labeled example phrases in model.js teach it the four outing types. The model turns input into word tokens, counts how often each token appears in the example phrases, applies Laplace smoothing, and estimates which outing type best fits the sentence. The interface shows matched words so its decision is inspectable. The result is assembled from short mission steps, adjusted for time and accessibility. This is intentionally a small classifier, not a language model.&lt;/p&gt;

&lt;p&gt;For instance, words such as “birds,” “trees,” and “listen” point toward notice; “water,” “plants,” and “garden” point toward care. The model is the core decision-maker. Mission steps are written by a human so they remain short, practical, and bounded. If the sentence is vague, the app still makes a best guess and lets you try again.&lt;/p&gt;

&lt;p&gt;Your sentence&lt;br&gt;
Local word tokenizer&lt;br&gt;
Open Naive Bayes model&lt;br&gt;
Mission type&lt;br&gt;
Time and accessadjustments&lt;br&gt;
Short mission card&lt;br&gt;
The app is plain HTML, CSS, and JavaScript with no build step or API key. A service worker caches its files after the first visit, allowing the same flow to work offline. There is no geolocation request, analytics call, or account. The initial visit still needs a connection so the browser can download the files; I did not want to imply otherwise.&lt;/p&gt;

&lt;p&gt;Why Does Open Innovation Matter?&lt;br&gt;
The model, training examples, and mission rules are all in the public code. Anyone can see what it learned, improve examples for their own community, or replace the classifier without depending on a hosted AI service. The small local model also lets people plan an outing without sending personal text or location to a server. It works without a signal after the first visit.&lt;/p&gt;

&lt;p&gt;There is a tradeoff: 40 example phrases do not cover every way someone describes a mood, and the model cannot know local weather, route safety, or accessibility of a particular path. I chose to keep the app small and honest about those limits. Contributors can add phrases, translate the examples, or replace the classifier while keeping the same simple interface. That openness matters more here than producing an elaborate but opaque recommendation.&lt;/p&gt;

&lt;p&gt;What Happened Outdoors&lt;br&gt;
I tested all four model intents and the 10-minute accessible mission in automated tests. I also used the live site in Chrome with a gardening prompt and confirmed that it produced the care mission. I have not yet taken a mission outside, so I cannot claim an outdoor field test. That is the next meaningful test: whether the instructions are useful once the screen is away.&lt;/p&gt;

&lt;p&gt;Prize Categories&lt;br&gt;
Overall challenge only. No partner technology is claimed.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>opensource</category>
      <category>ai</category>
    </item>
    <item>
      <title>TrailWing: An Offline Bird Call Identifier That Works Where Your Signal Doesn't</title>
      <dc:creator>Aditya Arora</dc:creator>
      <pubDate>Sat, 10 Oct 2026 08:05:04 +0000</pubDate>
      <link>https://dev.to/aditya_arora/trailwing-an-offline-bird-call-identifier-that-works-where-your-signal-doesnt-fi2</link>
      <guid>https://dev.to/aditya_arora/trailwing-an-offline-bird-call-identifier-that-works-where-your-signal-doesnt-fi2</guid>
      <description>&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Problem statement:&lt;/strong&gt; &lt;em&gt;"A bird call identifier that works on the trail with no signal."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;TrailWing is an open-source, offline-first birding companion. You pick a trail or park before you leave home, and the app downloads a small "trail pack": the bird species likely to be around this week, plus the local weather forecast. After that, you put your phone in your pocket and walk.&lt;/p&gt;

&lt;p&gt;When you hear a bird, you press one button, hold your phone up for about ten seconds, and put it away again. A local open-weight model listens to the clip, compares it against the species expected in your trail pack, and gives you a short answer such as "Probably a Black-capped Chickadee, 82% confident," with one line on how to confirm it by sight. Your lifelist grows with every confirmed bird. The screen is used for a few seconds at a time, and the rest of the walk is spent looking up at the trees.&lt;/p&gt;

&lt;p&gt;To keep people outside, TrailWing adds light "field quests" such as "find three different songs before the next trail marker" or "spot a bird that's feeding, not singing." Quests are completed by actually looking and listening, not by scrolling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who it's for:&lt;/strong&gt; Beginner and intermediate birders, hikers, and families who want to learn the birds around them without needing cell service or handing a recording of their location to a server.&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;Deployed Application Link: &lt;em&gt;(add your Render URL here)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Video Walkthrough: &lt;em&gt;(add your demo video link here)&lt;/em&gt;
&lt;em&gt;(Embed screenshots or a GIF here: the trail pack download screen, the one-tap listen button, and the result card with the confidence score.)&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;&lt;em&gt;(Embed your repository here using the DEV GitHub embed tag.)&lt;/em&gt;&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Open-Source AI Framework:&lt;/strong&gt; The identifier runs on &lt;strong&gt;Gemma 3n&lt;/strong&gt;, an open-weight model that accepts audio input and is small enough to run on a phone or laptop. Each ~10 second clip is passed to Gemma along with the shortlist of species from the trail pack. Narrowing the candidates to what is realistic for that place and week keeps answers more accurate and keeps the on-device model fast. Gemma also writes the plain-language "how to confirm it" tip. &lt;strong&gt;MediaPipe&lt;/strong&gt; handles the hands-free interaction: a simple raised-hand gesture starts a recording, so you don't have to fumble with the screen while holding binoculars.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend Architecture:&lt;/strong&gt; A progressive web app built with React and the Web Audio API. A service worker caches the app shell, the trail pack, and the model assets, so everything works in airplane mode. The lifelist is saved locally in IndexedDB.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend &amp;amp; Hosting:&lt;/strong&gt; A small API deployed on &lt;strong&gt;Render&lt;/strong&gt; builds trail packs. It takes a trail's coordinates, assembles the seasonal species shortlist, and returns one compact bundle for the app to cache. It sees only the trail you chose, never your recordings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integrations:&lt;/strong&gt; &lt;strong&gt;SerpApi&lt;/strong&gt; pulls the local weather forecast and nearby parks and trailheads at pack-build time, so the picker works without scraping or a heavy proprietary maps stack. The results are baked into the pack, so no API call is needed once you're on the trail.
&lt;strong&gt;How it flows:&lt;/strong&gt; (1) At home on Wi-Fi, choose a trail and download its pack. (2) On the trail, record a short clip offline. (3) Gemma 3n checks the clip against the pack's species list on the device. (4) You get a result card, add confirmed birds to your lifelist, and put the phone away.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;A closed API would fail this project at its most important moment: standing on a ridge with zero bars. Because the model weights are open, TrailWing runs inference locally and works fully offline, which is exactly where birders actually are.&lt;/p&gt;

&lt;p&gt;Open weights also protect privacy. Audio recorded in the field, combined with where you were and when, says a lot about a person. With a local model, those recordings never leave the device, and the only thing the server ever learns is which trail you picked.&lt;/p&gt;

&lt;p&gt;Finally, openness lets the community improve it. A regional birding club can fine-tune or swap the model for the species of their area, adjust the prompts for their local dialects of calls, or run their own trail-pack server, all without waiting for a vendor, paying per request, or asking permission. The cost to run it on a walk is nothing.&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Best Use of Gemma&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Best Use of Render&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Best Use of SerpApi&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>I just joined ig...</title>
      <dc:creator>Aditya Arora</dc:creator>
      <pubDate>Fri, 09 Oct 2026 16:49:33 +0000</pubDate>
      <link>https://dev.to/aditya_arora/i-just-joined-ig-4n8j</link>
      <guid>https://dev.to/aditya_arora/i-just-joined-ig-4n8j</guid>
      <description></description>
    </item>
  </channel>
</rss>
