<?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: Saurabh Singh</title>
    <description>The latest articles on DEV Community by Saurabh Singh (@saurabh_0001).</description>
    <link>https://dev.to/saurabh_0001</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%2F4155125%2F05948745-5a32-4c08-886a-403ec7fb301c.png</url>
      <title>DEV Community: Saurabh Singh</title>
      <link>https://dev.to/saurabh_0001</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/saurabh_0001"/>
    <language>en</language>
    <item>
      <title>Raat Ki Kahani: a calm bedtime story maker, powered by open-source Gemma</title>
      <dc:creator>Saurabh Singh</dc:creator>
      <pubDate>Sun, 25 Oct 2026 08:04:25 +0000</pubDate>
      <link>https://dev.to/saurabh_0001/raat-ki-kahani-a-calm-bedtime-story-maker-powered-by-open-source-gemma-8g9</link>
      <guid>https://dev.to/saurabh_0001/raat-ki-kahani-a-calm-bedtime-story-maker-powered-by-open-source-gemma-8g9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week3-2026-10-19"&gt;Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Raat Ki Kahani&lt;/strong&gt; ("Night Story") is a small web app that tells a child a calm bedtime story. A parent enters the child's name, age group, a topic ("a brave little elephant"), a lesson (kindness, honesty, courage, sharing or patience), a language (Hindi, English or Hinglish) and a length. The story appears word by word, and a &lt;strong&gt;Read aloud&lt;/strong&gt; button reads it in a slow voice.&lt;/p&gt;

&lt;p&gt;It does the work so a tired parent doesn't have to: no making up a story at the end of a long day, and no scrolling through videos.&lt;/p&gt;

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

&lt;p&gt;There is no demo video for this one. I submitted it while travelling with only my phone, so I could not run Ollama.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Live page (interface only): &lt;a href="https://saurabhh-cloud.github.io/raat-ki-kahani/" rel="noopener noreferrer"&gt;https://saurabhh-cloud.github.io/raat-ki-kahani/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;The AI runs locally, so the page needs Ollama running on your own computer to write stories. For anyone else it will show "Could not reach the model". Setup steps (4 short steps) are in the README.&lt;/li&gt;
&lt;/ul&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%2Fiquuhulsjmse7lmvaif5.jpg" 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%2Fiquuhulsjmse7lmvaif5.jpg" alt="Raat Ki Kahani interface. Writing the story needs Ollama on the computer." width="800" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

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


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/saurabhh-cloud" rel="noopener noreferrer"&gt;
        saurabhh-cloud
      &lt;/a&gt; / &lt;a href="https://github.com/saurabhh-cloud/raat-ki-kahani" rel="noopener noreferrer"&gt;
        raat-ki-kahani
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Raat Ki Kahani 🌙&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;A calm bedtime story maker for children. Enter the child's name, age, topic, lesson and language (Hindi, English or Hinglish) and get a gentle story, with a "Read aloud" button.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open-source AI at the core:&lt;/strong&gt; Google's open-weight &lt;strong&gt;Gemma&lt;/strong&gt; model runs locally through &lt;strong&gt;Ollama&lt;/strong&gt;. No internet, no account, no cost, and nothing about your child leaves your computer.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Run it&lt;/h2&gt;

&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Install Ollama: &lt;a href="https://ollama.com/download" rel="nofollow noopener noreferrer"&gt;https://ollama.com/download&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ollama pull gemma3:1b&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Start Ollama with the page allowed:
&lt;ul&gt;
&lt;li&gt;Windows PowerShell: &lt;code&gt;Stop-Process -Name "ollama*" -Force; $env:OLLAMA_ORIGINS="*"; ollama serve&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Mac/Linux: &lt;code&gt;OLLAMA_ORIGINS="*" ollama serve&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Open &lt;code&gt;index.html&lt;/code&gt; in Chrome (or the GitHub Pages link) and click &lt;strong&gt;Tell me a story&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Built for the Hacktoberfest Open-Source AI Challenge: Week 3 (theme: Slow and Steady), Oct 19-25, 2026. HTML, CSS, JavaScript, Gemma, Ollama.&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/saurabhh-cloud/raat-ki-kahani" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; plain HTML, CSS and JavaScript. I'm a first-year B.Sc. Mathematics student, so I kept it to one file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI:&lt;/strong&gt; Google's open-weight &lt;strong&gt;Gemma&lt;/strong&gt; (&lt;code&gt;gemma3:1b&lt;/code&gt;) running locally through &lt;strong&gt;Ollama&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streaming:&lt;/strong&gt; the page reads Ollama's streaming response, so the story starts appearing almost immediately instead of after a long wait.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prompt:&lt;/strong&gt; it asks for a short, simple, sleepy story with no scary, violent or sad parts, and tells the model to output only the story.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Read aloud:&lt;/strong&gt; the browser's built-in speech synthesis, slowed down, with a Hindi or English voice depending on the chosen language.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Settings:&lt;/strong&gt; the model name and server address can be changed in the page.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Privacy:&lt;/strong&gt; a child's name, age and the topics they like never leave the family computer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline and free:&lt;/strong&gt; once the model is downloaded, it works without internet and costs nothing per story. A closed API would charge per request or need an account and a card.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Control:&lt;/strong&gt; I can swap the model or change the prompt (for example to make stories calmer or shorter) without asking anyone.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Where it falls short:&lt;/strong&gt; &lt;code&gt;gemma3:1b&lt;/code&gt; is a very small model, so stories can be simple and Hindi quality is not perfect. A bigger model like &lt;code&gt;gemma3:4b&lt;/code&gt; should do better but needs a stronger computer. Ollama also has to be installed, which is a barrier for non-technical parents. I have not tested the stories with children, so I can't say how they react to them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;An honest note:&lt;/strong&gt; I wrote and submitted this while away from my laptop, so I have not run it end to end with Gemma yet. I checked that the page sends the request and shows a streamed reply using a stand-in server, but the real story quality is untested. If I change anything after testing at home, I will list it in the README.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Lazy Payoff
&lt;/h2&gt;

&lt;p&gt;Instead of inventing a story every night, a parent fills in four boxes in a few seconds and gets a fresh story, in the language the child understands best, that they can read or let the page read aloud.&lt;/p&gt;

&lt;p&gt;No one has used it yet, so I can't give real numbers on time saved.&lt;/p&gt;

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

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

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Dukaan Helper: catalog messages for small shops, powered by open-source Gemma</title>
      <dc:creator>Saurabh Singh</dc:creator>
      <pubDate>Fri, 16 Oct 2026 11:52:30 +0000</pubDate>
      <link>https://dev.to/saurabh_0001/dukaan-helper-catalog-messages-for-small-shops-powered-by-open-source-gemma-2p2h</link>
      <guid>https://dev.to/saurabh_0001/dukaan-helper-catalog-messages-for-small-shops-powered-by-open-source-gemma-2p2h</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest"&gt;Hacktoberfest Open-Source AI Challenge: Week 2&lt;/a&gt; (theme: Side Hustle).&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Dukaan Helper is a small web app for local shopkeepers. They type product details the way they actually talk, for example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;cotton ki kurti, size M L XL, rang neela aur laal, price 450, free delivery Delhi mein&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;and get a clean, ready-to-send WhatsApp catalog message, online listing, or Instagram caption in English, Hindi or Hinglish. One click copies it, ready to paste into WhatsApp.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who Would Pay for It
&lt;/h2&gt;

&lt;p&gt;Small sellers who sell on WhatsApp and Instagram. They know their products well but find it hard to write polished English listings, and many pay a freelancer or simply skip writing good descriptions.&lt;/p&gt;

&lt;p&gt;My idea for pricing is &lt;strong&gt;₹99 per month&lt;/strong&gt;, with a free tier of 10 listings a month. That is roughly one extra sale a month for the seller. I picked this number by reasoning about small-seller margins. I have since asked two shopkeepers (see "First User" below), which is too small a sample to prove anything.&lt;/p&gt;

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

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/z2bZOzyWtwU" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Live page: &lt;a href="https://saurabhh-cloud.github.io/dukaan-helper/" rel="noopener noreferrer"&gt;https://saurabhh-cloud.github.io/dukaan-helper/&lt;/a&gt; (needs Ollama running on your computer to generate text)&lt;/li&gt;
&lt;li&gt;Code: &lt;a href="https://github.com/saurabhh-cloud/dukaan-helper" rel="noopener noreferrer"&gt;https://github.com/saurabhh-cloud/dukaan-helper&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; plain HTML, CSS and JavaScript. I'm a first-year B.Sc. Mathematics student learning web development, so I kept it simple on purpose.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI:&lt;/strong&gt; Google's open-weight &lt;strong&gt;Gemma&lt;/strong&gt; (&lt;code&gt;gemma3:1b&lt;/code&gt;) running locally through &lt;strong&gt;Ollama&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How it works:&lt;/strong&gt; the page sends one prompt to Ollama's local API. The prompt tells the model to use only the facts given (no invented prices, sizes or colours), keep the message short, and end by asking the buyer to message to order.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Settings:&lt;/strong&gt; the model name and server address can be changed in the page, so a bigger model (like &lt;code&gt;gemma3:4b&lt;/code&gt;) can be swapped in without touching the code.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Open Innovation Matters Here
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cost:&lt;/strong&gt; a shop with 50 products would pay per call to a closed API. Running Gemma locally costs nothing per listing, which is what makes a ₹99 plan workable at all.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy:&lt;/strong&gt; product costs, supplier details and customer information stay on the shopkeeper's own laptop and are never sent to a server they don't control.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Control:&lt;/strong&gt; I can swap Gemma 1B for 4B, or change the prompt, without waiting for anyone's pricing or policy changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Local inference also helped with what my first user cared about most, speed: there is no network round trip to a remote server, and the result came back quickly on my laptop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where it falls short:&lt;/strong&gt; &lt;code&gt;gemma3:1b&lt;/code&gt; is a very small model. Small models are generally weaker at Hindi and Hinglish than larger ones, so a real deployment should use a bigger model such as &lt;code&gt;gemma3:4b&lt;/code&gt;, which needs a more powerful computer. The page also needs Ollama installed locally, which is a barrier for non-technical shopkeepers.&lt;/p&gt;

&lt;h2&gt;
  
  
  First User
&lt;/h2&gt;

&lt;p&gt;I showed Dukaan Helper to a shopkeeper near my house. His feedback, in short:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;He said it is good.&lt;/li&gt;
&lt;li&gt;What he mentioned most was the speed: it gives the result quickly.&lt;/li&gt;
&lt;li&gt;He is not comfortable writing in English, so the Hindi output is what helps him most.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When I asked about price, he said ₹99/month is fine and that he would pay for it.&lt;/p&gt;

&lt;p&gt;I also asked a second shopkeeper, who did not give a clear answer on price. So I have one yes and one "not sure", which is a very small sample. I'm treating this as an early signal and not as proof that the ₹99/month price works. The feedback does support my choice of Hindi and Hinglish support, which I'll keep as the main feature.&lt;/p&gt;

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

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

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Touch Grass Quest: a private AI adventure planner that gets you outside</title>
      <dc:creator>Saurabh Singh</dc:creator>
      <pubDate>Sun, 11 Oct 2026 15:48:05 +0000</pubDate>
      <link>https://dev.to/saurabh_0001/this-is-a-submission-for-the-hacktoberfest-open-source-ai-challenge-week-1-touch-grass-4j4b</link>
      <guid>https://dev.to/saurabh_0001/this-is-a-submission-for-the-hacktoberfest-open-source-ai-challenge-week-1-touch-grass-4j4b</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;Touch Grass Quest is an AI adventure planner that gets you off the screen and into the world. I'm a student and I spend most of my day on a laptop and phone, so I wanted something that makes going outside feel like a small game.&lt;/p&gt;

&lt;p&gt;You tell it where you are, the landmarks you know nearby, how much time you have, your energy, the weather and what you enjoy. Then it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;suggests outdoor activities&lt;/li&gt;
&lt;li&gt;makes a short walking route (using only the landmarks you named)&lt;/li&gt;
&lt;li&gt;lists things to look for while you are outside&lt;/li&gt;
&lt;li&gt;creates an offline adventure checklist&lt;/li&gt;
&lt;li&gt;lets you record notes and photos&lt;/li&gt;
&lt;li&gt;writes a small Adventure Journal after your walk, using only your own notes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is for students and anyone who wants a small reason to step outside.&lt;/p&gt;

&lt;p&gt;My first real walk: I used Touch Grass Quest to plan a walk, then went to the ground near my home and spent time outside enjoying nature. It was a very beautiful experience, and a nice break from my laptop and phone. Afterwards I wrote my notes in the app for my Adventure Journal.&lt;/p&gt;

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

&lt;p&gt;Video: &lt;a href="https://youtu.be/AEHpszJ6AUc" rel="noopener noreferrer"&gt;https://youtu.be/AEHpszJ6AUc&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try it on a laptop with Chrome or Edge: &lt;a href="https://saurabhh-cloud.github.io/touch-grass-quest/" rel="noopener noreferrer"&gt;https://saurabhh-cloud.github.io/touch-grass-quest/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first load downloads the AI model once (about 1.5 GB). If you only want to see how it looks, click "Try a sample plan (no AI)". That sample is ready-made and not written by the AI.&lt;/p&gt;

&lt;p&gt;![Touch Grass Quest plan and checklist] &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%2F2jxz5xqfr3s9kdllr5sw.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%2F2jxz5xqfr3s9kdllr5sw.png" alt=" " width="800" height="348"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/saurabhh-cloud/touch-grass-quest" rel="noopener noreferrer"&gt;https://github.com/saurabhh-cloud/touch-grass-quest&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;It is one HTML file with no backend. It uses WebLLM to run Google's open-weight Gemma 2 2B model directly in the browser on the user's GPU. You can also switch to Qwen 2.5 or Llama 3.2 in a dropdown.&lt;/p&gt;

&lt;p&gt;A few choices came from the "touch grass" idea:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The AI model cannot run on a phone, but people carry phones outside. So you plan on a laptop, then download an offline card (a small HTML file with your plan, checklist and notes box) and open it on your phone with no internet.&lt;/li&gt;
&lt;li&gt;A small AI model can invent places. The prompt tells it to use only the landmarks you list and not to make up streets or shops.&lt;/li&gt;
&lt;li&gt;A small AI model can also invent details in the journal. After it writes the journal, a simple word check highlights any word that is not in your own notes, so you can edit or delete it. It is a simple check, not a guarantee, so I still recommend reading the journal once.&lt;/li&gt;
&lt;li&gt;There is also a basic journal option that works without the AI, and a safety reminder under the plan.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm a first-year Maths student learning HTML, CSS, JavaScript and Python. I built this with the help of an AI coding assistant (Claude) and tested the app myself.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Privacy: A planner like this needs to know where you walk. Because the model runs on your own device, your location, notes and photos never go to a server I don't control.&lt;/li&gt;
&lt;li&gt;Works offline: After the one-time download the model is cached, and the offline card works with no signal, which suits parks and trails.&lt;/li&gt;
&lt;li&gt;Free: There is no API key or subscription, so anyone can use it.&lt;/li&gt;
&lt;li&gt;Swappable: With open weights I can switch between Gemma, Qwen and Llama and change how the guide behaves by editing the prompt. A closed API would not let me do that.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;I built the first version with Claude, an AI coding assistant. I did not record the session with DevRelay.&lt;/p&gt;

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

&lt;p&gt;Best Use of Gemma: the app runs Google's Gemma 2 2B locally in the browser.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>I Built a Private AI That Helps My Friend Say It Nicely (No Server, No API Key)</title>
      <dc:creator>Saurabh Singh</dc:creator>
      <pubDate>Sun, 04 Oct 2026 13:31:35 +0000</pubDate>
      <link>https://dev.to/saurabh_0001/i-built-a-private-ai-that-helps-my-friend-say-it-nicely-no-server-no-api-key-43pc</link>
      <guid>https://dev.to/saurabh_0001/i-built-a-private-ai-that-helps-my-friend-say-it-nicely-no-server-no-api-key-43pc</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;Say It Nicely&lt;/strong&gt; for my friend &lt;strong&gt;Aaditya&lt;/strong&gt;. Writing a polite message to a teacher or a senior is something many students find hard, so I made a tool that writes the first draft for you.&lt;/p&gt;

&lt;p&gt;You type a rough message like &lt;em&gt;"sir i couldnt submit assignment on time because i was sick, can i get few more days"&lt;/em&gt;. You choose who it is for (professor, friend, family), the tone and the language (English, Hinglish or Hindi). It writes a polished version. It is told never to add excuses or facts you did not write.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Aaditya said:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The website is simple and user friendly and the appearance look clean with good choice of colours. I liked the Say it nicely feature, it's a creative and useful idea. Great work done.&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;&lt;a href="https://saurabhh-cloud.github.io/say-it-nicely/" rel="noopener noreferrer"&gt;https://saurabhh-cloud.github.io/say-it-nicely/&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%2Fs6062aoq6yyg99fu6dpq.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%2Fs6062aoq6yyg99fu6dpq.png" alt="Screenshot of the Say It Nicely app turning a rough message into a polite one" width="800" height="708"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It needs a laptop or desktop with Chrome or Edge, because phone browsers can't run the model yet. The first load downloads the AI model (about 1.5 GB) once. After that it works offline.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/saurabhh-cloud/say-it-nicely" rel="noopener noreferrer"&gt;https://github.com/saurabhh-cloud/say-it-nicely&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The app is a single HTML file with no backend. It uses &lt;a href="https://github.com/mlc-ai/web-llm" rel="noopener noreferrer"&gt;WebLLM&lt;/a&gt;, which runs an open-weight model directly on the user's GPU through WebGPU. The default model is Google's &lt;strong&gt;Gemma 2 2B&lt;/strong&gt;, and a dropdown lets you switch to Qwen 2.5 1.5B or Llama 3.2 1B.&lt;/p&gt;

&lt;p&gt;A system prompt carries the rules: keep the exact meaning, never invent facts, match the chosen tone and language, and output only the final message. The answer streams in word by word.&lt;/p&gt;

&lt;p&gt;I'm a first-year Maths student learning HTML, CSS, JavaScript and Python, and this was my first project built around an AI model. I built it with the help of an AI coding assistant (Claude), then deployed it and shared it with Aaditya myself.&lt;/p&gt;

&lt;p&gt;What I learned:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An AI model can run entirely in a web browser, with no server or API key.&lt;/li&gt;
&lt;li&gt;The system prompt controls behaviour, so a clear rule like "never add facts" matters a lot.&lt;/li&gt;
&lt;li&gt;Small models can still make mistakes, so the app reminds users to read the message before sending.&lt;/li&gt;
&lt;li&gt;It doesn't work on phones yet, so I added a warning for phone users.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Privacy:&lt;/strong&gt; People paste personal things into a message helper: health, family, money. Because the model runs on the user's own device, those words never reach a server I don't control.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Works offline:&lt;/strong&gt; After the one-time download the model is cached in the browser, so it works with no internet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Free:&lt;/strong&gt; There is no API key, subscription or usage bill, so I can share it with my whole class.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Swappable:&lt;/strong&gt; A closed API would let me use one model only. With open weights I can switch between Gemma, Qwen and Llama in a dropdown and change the behaviour by editing the prompt.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;I built the first version with Claude, an AI coding assistant. I did not record the session with DevRelay.&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; the app runs Google's Gemma 2 2B locally in the browser.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>hi everyone</title>
      <dc:creator>Saurabh Singh</dc:creator>
      <pubDate>Thu, 01 Oct 2026 15:37:11 +0000</pubDate>
      <link>https://dev.to/saurabh_0001/hi-everyone-2718</link>
      <guid>https://dev.to/saurabh_0001/hi-everyone-2718</guid>
      <description></description>
    </item>
  </channel>
</rss>
