<?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: Divy Tandon</title>
    <description>The latest articles on DEV Community by Divy Tandon (@divy_tandon_e0155774108b1).</description>
    <link>https://dev.to/divy_tandon_e0155774108b1</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%2F4171566%2Fa9ae05c6-ff32-4ada-ab4a-82f87a2f601c.png</url>
      <title>DEV Community: Divy Tandon</title>
      <link>https://dev.to/divy_tandon_e0155774108b1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/divy_tandon_e0155774108b1"/>
    <language>en</language>
    <item>
      <title>ListSmith: Turn Product Photos Into Polished Etsy &amp; eBay Listings, Running on Open Models</title>
      <dc:creator>Divy Tandon</dc:creator>
      <pubDate>Tue, 13 Oct 2026 12:33:21 +0000</pubDate>
      <link>https://dev.to/divy_tandon_e0155774108b1/listsmith-turn-product-photos-into-polished-etsy-ebay-listings-running-on-open-models-cd6</link>
      <guid>https://dev.to/divy_tandon_e0155774108b1/listsmith-turn-product-photos-into-polished-etsy-ebay-listings-running-on-open-models-cd6</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>Divy Tandon</dc:creator>
      <pubDate>Sun, 11 Oct 2026 07:40:24 +0000</pubDate>
      <link>https://dev.to/divy_tandon_e0155774108b1/outside-briefly-a-tiny-offline-ai-coach-for-getting-off-the-screen-2c26</link>
      <guid>https://dev.to/divy_tandon_e0155774108b1/outside-briefly-a-tiny-offline-ai-coach-for-getting-off-the-screen-2c26</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>ai</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I am starting my open source journey...</title>
      <dc:creator>Divy Tandon</dc:creator>
      <pubDate>Sat, 10 Oct 2026 21:18:59 +0000</pubDate>
      <link>https://dev.to/divy_tandon_e0155774108b1/i-am-starting-my-open-source-journey-4gmg</link>
      <guid>https://dev.to/divy_tandon_e0155774108b1/i-am-starting-my-open-source-journey-4gmg</guid>
      <description></description>
      <category>opensource</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
