<?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: ROHINI RAY</title>
    <description>The latest articles on DEV Community by ROHINI RAY (@rohiniray).</description>
    <link>https://dev.to/rohiniray</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%2F4176301%2Fb62d2882-38e6-4f95-a179-ce3da994835f.jpg</url>
      <title>DEV Community: ROHINI RAY</title>
      <link>https://dev.to/rohiniray</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rohiniray"/>
    <language>en</language>
    <item>
      <title>MarketMate: Gemma 4 Turns Rough Product Notes Into Ready-to-Edit Listings</title>
      <dc:creator>ROHINI RAY</dc:creator>
      <pubDate>Tue, 13 Oct 2026 06:27:14 +0000</pubDate>
      <link>https://dev.to/rohiniray/marketmate-gemma-4-turns-rough-product-notes-into-ready-to-edit-listings-5ek4</link>
      <guid>https://dev.to/rohiniray/marketmate-gemma-4-turns-rough-product-notes-into-ready-to-edit-listings-5ek4</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;MarketMate turns rough product notes into a marketplace-ready title, description, search tags, opening line, and positioning suggestion. It’s for independent Etsy, Shopify, eBay, and Instagram Shop sellers who want to spend less time writing listings. I haven’t tested willingness to pay yet.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://market-mate-gamma.vercel.app/" rel="noopener noreferrer"&gt;https://market-mate-gamma.vercel.app/&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/rohini-ray/MarketMate.git" rel="noopener noreferrer"&gt;https://github.com/rohini-ray/MarketMate.git&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;MarketMate uses Flask with an HTML, CSS, and JavaScript interface. The backend sends product notes to Gemma 4 through OpenRouter. It defaults to google/gemma-4-26b-a4b-it; the model can be switched using OPENROUTER_MODEL. The OpenRouter key is stored in Vercel’s environment variables, not in browser code. MarketMate doesn’t save drafts. Notes are sent to OpenRouter for generation, so users shouldn’t include private customer information.&lt;/p&gt;

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

&lt;p&gt;Gemma 4’s open weights give me the flexibility to change models and a possible path to self-hosting or fine-tuning later. This version uses hosted inference through OpenRouter; it doesn’t run offline, and product notes leave the app to generate copy.&lt;/p&gt;

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


&lt;div class="ltag-agent-session"&gt;
  &lt;div class="agent-session-header"&gt;
    
    &lt;span class="agent-session-tool-icon-badge" title="Codex"&gt;
&lt;/span&gt;
    &lt;span class="agent-session-title"&gt;Building MarketMate with Gemma 4, OpenRouter, and Vercel&lt;/span&gt;
      &lt;span class="agent-session-model-badge"&gt;Gemma 4 via OpenRouter&lt;/span&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-scroll"&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Build a useful side-hustle project around open-source AI, Gemma 4 through OpenRouter, Render, and GitHub Copilot.&lt;/p&gt;

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

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Built MarketMate, a listing-copy assistant for independent marketplace sellers. It uses a Flask backend and a browser UI to turn seller notes into a title, description, search tags, opening hook, and positioning suggestion. Gemma 4 is called through OpenRouter; the model can be changed through OPENROUTER_MODEL. The app does not save drafts, and its UI explains that notes are sent to OpenRouter for generation.&lt;/p&gt;

                &lt;/div&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-workspaceedit"&gt;workspace_edit&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;Created the Flask app, responsive UI, Render Blueprint, Vercel-compatible Fla...&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Created the Flask app, responsive UI, Render Blueprint, Vercel-compatible Flask entry point, README, MIT license, and Copilot project instructions. No API keys included.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;MarketMate project files created and configured.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;I deployed using Vercel. Where do I add the OpenRouter API key?&lt;/p&gt;

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

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Add OPENROUTER_API_KEY under Vercel Project Settings &amp;gt; Environment Variables, select the environments that need it, save, then redeploy. Store the key in the Value field; do not commit it.&lt;/p&gt;

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

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;The GitHub secret scanner found a key in an earlier .env.example commit. The local branch history was replaced with a clean commit that excludes environment files, and .env remains ignored.&lt;/p&gt;

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

  &lt;div class="agent-session-footer"&gt;
    &lt;span class="agent-session-meta"&gt;
        5 of 5 messages
    &lt;/span&gt;
  &lt;/div&gt;
&lt;/div&gt;


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

&lt;p&gt;Best Use of Gemma&lt;/p&gt;

&lt;h2&gt;
  
  
  Solo builder
&lt;/h2&gt;

&lt;p&gt;&lt;a class="mentioned-user" href="https://dev.to/rohiniray"&gt;@rohiniray&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>PocketPal: A Private Meal Planner Built with Local AI</title>
      <dc:creator>ROHINI RAY</dc:creator>
      <pubDate>Sun, 11 Oct 2026 09:23:54 +0000</pubDate>
      <link>https://dev.to/rohiniray/pocketpal-a-private-meal-planner-built-with-local-ai-gbc</link>
      <guid>https://dev.to/rohiniray/pocketpal-a-private-meal-planner-built-with-local-ai-gbc</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;PocketPal&lt;/strong&gt;, a private meal planner for &lt;strong&gt;[friend’s name or relationship]&lt;/strong&gt;, who &lt;strong&gt;[describe the real meal-planning problem they face]&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;PocketPal lets them save ingredients to avoid, browse a small recipe box, and plan meals for the week. Recipes are filtered against their avoid list, and an optional local AI feature can suggest another meal using ingredients they have on hand.&lt;/p&gt;

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

&lt;p&gt;[Try PocketPal] &lt;a href="https://pocketpal-eight.vercel.app/" rel="noopener noreferrer"&gt;https://pocketpal-eight.vercel.app/&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;[View the source on GitHub] &lt;a href="https://github.com/rohini-ray/PocketPal.git" rel="noopener noreferrer"&gt;https://github.com/rohini-ray/PocketPal.git&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;PocketPal is a static HTML, CSS, and JavaScript app. It stores the food profile and meal plan in the browser, and its service worker can cache the app shell for offline use.&lt;/p&gt;

&lt;p&gt;For optional AI suggestions, PocketPal connects to &lt;strong&gt;Ollama&lt;/strong&gt; running on the user’s own computer. The app can use an open-weight model such as &lt;code&gt;qwen2.5:3b&lt;/code&gt;; the model is optional, and the planner and recipe box work without it.&lt;/p&gt;

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

&lt;p&gt;Dietary preferences and pantry details can be personal. PocketPal keeps them in the user’s browser, and local model inference means meal suggestions don’t need to send that information to a hosted AI service.&lt;/p&gt;

&lt;p&gt;Using an open-weight model also lets the user choose which model to run. The trade-off is that they need to download the model and have a computer capable of running it. PocketPal’s ingredient checks are only a convenience; they can miss synonyms, hidden ingredients, and cross-contamination, so users still need to verify labels themselves.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://dev.to/agent_sessions/building-pocketpal-a-private-local-first-meal-planner-6d2ygk"&gt;View my DevRelay session&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Mosslight: Gemma 4 Turns Garden Plans into a Reason to Go Outside</title>
      <dc:creator>ROHINI RAY</dc:creator>
      <pubDate>Sun, 11 Oct 2026 06:39:22 +0000</pubDate>
      <link>https://dev.to/rohiniray/mosslight-gemma-4-turns-garden-plans-into-a-reason-to-go-outside-16ng</link>
      <guid>https://dev.to/rohiniray/mosslight-gemma-4-turns-garden-plans-into-a-reason-to-go-outside-16ng</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;Mosslight is a garden helper that turns a few details—your location, sunlight, and what you want to grow—into a short plan for the week. The idea is simple: get one useful suggestion, then close the screen and go outside.&lt;/p&gt;

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

&lt;p&gt;Try Mosslight: &lt;a href="https://mosslight.onrender.com/" rel="noopener noreferrer"&gt;https://mosslight.onrender.com/&lt;/a&gt;&lt;/p&gt;

&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%2Fmm12q7o67k2olkyyibp9.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%2Fmm12q7o67k2olkyyibp9.png" alt=" " width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&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%2Fefsb9xk7yjg1e9iwlq67.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%2Fefsb9xk7yjg1e9iwlq67.png" alt=" " width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&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%2Fu902g8lq2sevsmiaatpi.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%2Fu902g8lq2sevsmiaatpi.png" alt=" " width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The source code is on GitHub: &lt;a href="https://github.com/rohini-ray/Mosslight.git" rel="noopener noreferrer"&gt;https://github.com/rohini-ray/Mosslight.git&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Mosslight is a lightweight HTML, CSS, and JavaScript site hosted on Render. It sends the garden-planning prompt to Gemma 4 through OpenRouter’s chat completions API. Visitors provide their own OpenRouter API key in the page; Mosslight doesn’t save it. If the model request fails, a built-in garden guide can still provide a basic plan. &lt;/p&gt;

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

&lt;p&gt;Mosslight uses Gemma 4, an open-weight model, so the model can be changed or replaced without redesigning the app. Using OpenRouter means visitors don’t have to download hundreds of megabytes of model files or run an inference server themselves.&lt;/p&gt;

&lt;p&gt;There’s a tradeoff: Gemma runs through OpenRouter, so the garden details are sent to OpenRouter when a plan is requested. This version needs an internet connection and an API key; it does not run Gemma locally.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Best Use of Render&lt;/li&gt;
&lt;li&gt;Best Use of Gemma&lt;/li&gt;
&lt;li&gt;Best Use of GitHub Copilot&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Built solo by &lt;a class="mentioned-user" href="https://dev.to/rohiniray"&gt;@rohiniray&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Thanks for giving the opportunity to participate!&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Working</title>
      <dc:creator>ROHINI RAY</dc:creator>
      <pubDate>Sun, 11 Oct 2026 05:00:41 +0000</pubDate>
      <link>https://dev.to/rohiniray/working-2igb</link>
      <guid>https://dev.to/rohiniray/working-2igb</guid>
      <description></description>
    </item>
  </channel>
</rss>
