<?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: Ashish Anand</title>
    <description>The latest articles on DEV Community by Ashish Anand (@ashishanand).</description>
    <link>https://dev.to/ashishanand</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%2F4152864%2F77e209ca-899c-4008-b783-8d08a110d706.png</url>
      <title>DEV Community: Ashish Anand</title>
      <link>https://dev.to/ashishanand</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ashishanand"/>
    <language>en</language>
    <item>
      <title>Pigritia - Hacktoberfest '26</title>
      <dc:creator>Ashish Anand</dc:creator>
      <pubDate>Mon, 26 Oct 2026 04:05:48 +0000</pubDate>
      <link>https://dev.to/ashishanand/pigritia-hacktoberfest-26-21k6</link>
      <guid>https://dev.to/ashishanand/pigritia-hacktoberfest-26-21k6</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;Pigritia&lt;/strong&gt; (Latin for sloth, in the laziness sense) is a set of four lazy-day helpers that run entirely on my own machine. It's a single HTML file that talks to Ollama and Gemma. There's no backend, no account and no API key.&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%2Fjtgueukoifrob0zbmp7q.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%2Fjtgueukoifrob0zbmp7q.png" alt="Pigritia homepage" width="800" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Autopilot:&lt;/strong&gt; paste an email thread, meeting notes or a group chat. It gives back a short summary with a priority tag, the questions waiting on me, a task list with owners and due dates, a drafted reply in the tone I pick, and a calendar file (&lt;code&gt;.ics&lt;/code&gt;) for anything with a deadline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fridge list:&lt;/strong&gt; photograph the fridge and get a tickable shopping checklist, so nobody has to stand there with the door open.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wind down:&lt;/strong&gt; a calm bedtime story, read aloud, with generated rain, ocean or forest sound underneath. It works offline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;File tidier:&lt;/strong&gt; paste or pick messy file names and get a rename-and-sort plan, plus a ready-to-run &lt;code&gt;.sh&lt;/code&gt; or &lt;code&gt;.ps1&lt;/code&gt; script. Only names are read, and nothing moves until I run the script myself.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The people who get to be lazier are anyone who drowns in group chats and inboxes, hates writing "sounds good, I'll send that Friday" for the hundredth time, or has a Downloads folder full of &lt;code&gt;final_FINAL_v2.pdf&lt;/code&gt;.&lt;/p&gt;

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

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

&lt;p&gt;Pigritia calls Ollama on &lt;code&gt;localhost&lt;/code&gt;, so a hosted copy can't reach a visitor's own model. A short screen recording is the honest way to show it. The repo has setup instructions if you want to run it yourself.&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/ASAN-11" rel="noopener noreferrer"&gt;
        ASAN-11
      &lt;/a&gt; / &lt;a href="https://github.com/ASAN-11/Pigritia" rel="noopener noreferrer"&gt;
        Pigritia
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Experience AI core but slow and steady.
    &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;Pigritia&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Experience AI core but slow and steady.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pigritia is a small set of lazy-day helpers that run entirely on your own machine. It is a single HTML file that talks to &lt;a href="https://ollama.com" rel="nofollow noopener noreferrer"&gt;Ollama&lt;/a&gt; and an open-weight &lt;a href="https://ai.google.dev/gemma" rel="nofollow noopener noreferrer"&gt;Gemma&lt;/a&gt; model. There is no backend, no account, no build step and no API key. Your messages, photos and file names never leave your computer.&lt;/p&gt;
&lt;p&gt;Built for the &lt;a href="https://dev.to/challenges/hacktoberfest-week3-2026-10-19" rel="nofollow"&gt;Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/ASAN-11/Pigritia/screenshot.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FASAN-11%2FPigritia%2FHEAD%2Fscreenshot.png" alt="pigritia screenshot"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Contents&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/ASAN-11/Pigritia#what-it-does" rel="noopener noreferrer"&gt;What it does&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ASAN-11/Pigritia#why-open-models" rel="noopener noreferrer"&gt;Why open models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ASAN-11/Pigritia#requirements" rel="noopener noreferrer"&gt;Requirements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ASAN-11/Pigritia#quick-start" rel="noopener noreferrer"&gt;Quick start&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ASAN-11/Pigritia#the-site-section-by-section" rel="noopener noreferrer"&gt;The site, section by section&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ASAN-11/Pigritia#using-each-tool" rel="noopener noreferrer"&gt;Using each tool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ASAN-11/Pigritia#how-it-works" rel="noopener noreferrer"&gt;How it works&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ASAN-11/Pigritia#privacy-and-data-handling" rel="noopener noreferrer"&gt;Privacy and data handling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ASAN-11/Pigritia#choosing-a-model" rel="noopener noreferrer"&gt;Choosing a model&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ASAN-11/Pigritia#troubleshooting" rel="noopener noreferrer"&gt;Troubleshooting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ASAN-11/Pigritia#limitations" rel="noopener noreferrer"&gt;Limitations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ASAN-11/Pigritia#customising" rel="noopener noreferrer"&gt;Customising&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ASAN-11/Pigritia#project-structure" rel="noopener noreferrer"&gt;Project structure&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What it does&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;You give it&lt;/th&gt;
&lt;th&gt;You get back&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Autopilot&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;An email thread, meeting notes or a group chat&lt;/td&gt;
&lt;td&gt;A short summary, a priority tag, questions waiting on you, a task list with owners and due dates, a calendar file and a drafted&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;…&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/ASAN-11/Pigritia" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The whole app is one file, &lt;code&gt;pigritia.html&lt;/code&gt;, plus a detailed README.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Model:&lt;/strong&gt; Gemma, an open-weight model, served by &lt;strong&gt;Ollama&lt;/strong&gt;. Everything runs through two Ollama endpoints: &lt;code&gt;/api/tags&lt;/code&gt; to list installed models and &lt;code&gt;/api/chat&lt;/code&gt; for generation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streaming for free text:&lt;/strong&gt; the fridge list and the bedtime story stream token by token, so the text appears as it's written.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JSON mode for structured work:&lt;/strong&gt; Autopilot and the File tidier ask Ollama for &lt;code&gt;format: "json"&lt;/code&gt; at a low temperature. They parse the result into tasks, a reply, or a rename plan. The page checks the plan before showing it, discarding file names the model made up.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vision:&lt;/strong&gt; the fridge photo is shrunk in the browser and sent as a base64 image to a vision-capable Gemma.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Everything else is the browser:&lt;/strong&gt; &lt;code&gt;speechSynthesis&lt;/code&gt; reads the story aloud, the Web Audio API generates the ambient sound, and Blob downloads produce the scripts and calendar files. There are no dependencies, no build step and no external fonts or scripts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design:&lt;/strong&gt; a vertical sidebar, serif type, and a line-art sloth hanging from a branch.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Three of the four tools handle things I wouldn't paste into someone else's server: my work email, my group chats and photos of my kitchen. With an open-weight model on Ollama, that data goes to &lt;code&gt;localhost&lt;/code&gt; and nowhere else. You can check this in the browser's network tab.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;It works offline.&lt;/strong&gt; Once the model is pulled, no internet is needed. The story, the sounds and the voice all work with the Wi-Fi off.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nothing is metered.&lt;/strong&gt; A tool you use without thinking can't have a per-token bill hanging over it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The model is swappable.&lt;/strong&gt; Setup lists whatever Ollama has installed. A smaller model works on an old laptop, and a larger one gives better replies. Nothing in the app is tied to one model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The behaviour is mine to change.&lt;/strong&gt; Every tool's prompt is plain text in one readable file, so I can change the tone, the rules or the output format without asking anyone.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A closed API could do the summarising. It couldn't do it privately, offline and for free, all at once.&lt;/p&gt;

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

&lt;p&gt;I measured this by counting what I no longer do by hand, not by stopwatch.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Autopilot&lt;/strong&gt; replaces four chores: reading a long thread to find what's being asked, writing down the tasks, putting the deadlines in a calendar, and drafting the reply. Now I paste the text and press one button. The calendar step is one &lt;code&gt;.ics&lt;/code&gt; download that imports every dated task at once.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;File tidier&lt;/strong&gt; replaces renaming and sorting files one at a time. I paste or pick the names, check the before and after table, and run one script. The script never overwrites an existing file, and I read the plan first.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fridge list&lt;/strong&gt; replaces standing at an open fridge and typing a list into my phone. I take one photo and tick items off at the shop.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wind down&lt;/strong&gt; replaces searching for a bedtime story or a sound track. I type an idea, press one button, and it reads the story aloud over rain.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I pasted a 40-message family group chat about a trip and got back three tasks and a drafted reply; it took about 2 minutes including a quick read-through.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Best Use of Gemma.&lt;/strong&gt; Gemma is the model behind every tool in Pigritia, running locally through Ollama:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Text generation:&lt;/strong&gt; streamed bedtime stories and fridge lists.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured output:&lt;/strong&gt; Autopilot and the File tidier ask Gemma for JSON at a low temperature and turn it into tasks, a drafted reply, calendar events and rename scripts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vision:&lt;/strong&gt; the Fridge list sends a photo to a vision-capable Gemma, such as &lt;code&gt;gemma3:4b&lt;/code&gt; or larger, so one open model handles both text and images.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Swappable size:&lt;/strong&gt; a smaller Gemma works on a modest laptop and a larger one gives better replies, all through one dropdown in Setup.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Cygnus - Hacktoberfest '26</title>
      <dc:creator>Ashish Anand</dc:creator>
      <pubDate>Thu, 15 Oct 2026 13:56:00 +0000</pubDate>
      <link>https://dev.to/ashishanand/cygnus-hacktoberfest-26-1p4i</link>
      <guid>https://dev.to/ashishanand/cygnus-hacktoberfest-26-1p4i</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;&lt;strong&gt;Cygnus&lt;/strong&gt; is a small web app with three AI tools for people who handle messy paperwork and can't send it to a cloud AI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Receipt Sorter&lt;/strong&gt; is for freelancers and bookkeepers. It reads pasted receipt text or a photo and returns vendor, date, total, tax, currency and category as table rows, with CSV export.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Listing Writer&lt;/strong&gt; is for Etsy and eBay sellers. It turns product notes and photos into a title, description, tags and a price range.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Menu Translator&lt;/strong&gt; is for local restaurants. It translates a menu but keeps the restaurant's own dish names and follows its glossary.&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%2Fkt3cb8hsm1yztopxvxxv.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%2Fkt3cb8hsm1yztopxvxxv.png" alt="Cygnus Home Section" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The problem is the same in each case. The inputs hold client invoices, supplier prices and customer details, and paid APIs charge per document, which eats the margin of a small monthly subscription. Cygnus runs the model on the user's own computer, so nothing leaves it and there is no per-document bill.&lt;/p&gt;

&lt;p&gt;There is also a &lt;strong&gt;"Will it pay?"&lt;/strong&gt; calculator. You enter your customers, price and volume, and it compares monthly profit on a paid API with running the model locally. Its defaults are example numbers, so replace them with your own.&lt;/p&gt;

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

&lt;p&gt;Cygnus needs a local Ollama to talk to, so there is no hosted demo. Here is a walkthrough instead:&lt;/p&gt;

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

&lt;p&gt;To run it yourself, follow the steps in the README (about five minutes).&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/ASAN-11/Cygnus" rel="noopener noreferrer"&gt;https://github.com/ASAN-11/Cygnus&lt;/a&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Model:&lt;/strong&gt; Gemma 3 through &lt;a href="https://ollama.com" rel="noopener noreferrer"&gt;Ollama&lt;/a&gt; is the default. The page calls Ollama's &lt;code&gt;/api/chat&lt;/code&gt; endpoint and streams the reply as it is generated.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Any other model works too.&lt;/strong&gt; The Model field lists whatever is installed in Ollama and also accepts a typed name, so you can try Llama, Qwen, Mistral or a vision model like LLaVA.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vision:&lt;/strong&gt; photos are base64-encoded in the browser and sent to Gemma as image input, so a receipt or product photo needs no separate OCR step.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured output:&lt;/strong&gt; Receipt Sorter asks Ollama for JSON, parses it into table rows and builds the CSV in the browser.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No backend:&lt;/strong&gt; the whole app is one HTML file. You serve it with &lt;code&gt;python3 -m http.server 8000&lt;/code&gt; and open &lt;code&gt;localhost:8000&lt;/code&gt;, because a page opened straight from disk is blocked from calling Ollama.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design:&lt;/strong&gt; a vertical navbar with a branching drop-right menu, and all the graphics (the swan with circuit-trace antlers, the icons, the diagram) are SVG. The palette is white, yellow, orange and gold.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I checked the app end to end against a mock Ollama server, so the page, streaming and table parsing work. Real-world accuracy on your own receipts or menus depends on the model you pick, and you should review extracted rows before using them for accounting.&lt;/p&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; receipts and product photos go only to &lt;code&gt;localhost&lt;/code&gt;. A closed API would mean sending a client's financial documents to someone else's server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost:&lt;/strong&gt; a local model has no per-token bill, so a $9 a month product can still make money. The calculator in the app lets you check that with your own numbers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Control:&lt;/strong&gt; the model is a dropdown and the prompts are plain text, so you can swap models, adjust behavior or add a restaurant's glossary without waiting on a vendor.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline:&lt;/strong&gt; after the model is pulled, the tools need no internet connection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No lock-in:&lt;/strong&gt; there is no pricing change or deprecation that can break a product built this way.&lt;/li&gt;
&lt;/ul&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; Gemma 3 is the default model for every tool, run locally through Ollama, including its image input.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Sagittarius - Hacktoberfest '26</title>
      <dc:creator>Ashish Anand</dc:creator>
      <pubDate>Mon, 12 Oct 2026 02:26:04 +0000</pubDate>
      <link>https://dev.to/ashishanand/sagittarius-hacktoberfest-26-2g1m</link>
      <guid>https://dev.to/ashishanand/sagittarius-hacktoberfest-26-2g1m</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;&lt;strong&gt;Sagittarius&lt;/strong&gt; is a local-first outdoor companion that runs as a single HTML file. You open it, check the sky, get a plan, and then close the laptop.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Outing planner:&lt;/strong&gt; pulls today's forecast (temperature, rain chance, wind, UV, sunrise and sunset) and suggests a plan for a hike, run, birding trip, foliage photo walk, gardening session or picnic, sized to the time you have.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Field guide:&lt;/strong&gt; a chat with an open-weight model running on your own machine. Describe a bird call, a plant or a trail question and get an answer, even with no signal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Garden planner:&lt;/strong&gt; enter your frost dates (or pick a season if you have no frost) and see what to sow this week. It works fully offline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Field journal:&lt;/strong&gt; notes and photos saved only in your browser.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Outdoor timer and screen clock:&lt;/strong&gt; the page shows how long you've been on screen and logs the minutes you spend outside, so the screen stays the shortest part of the day.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's for anyone who wants to get outside more: hikers, birders, gardeners and runners, and especially people who live somewhere with patchy signal or who don't want their location history sent to a server.&lt;/p&gt;

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

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

&lt;p&gt;The model runs through Ollama on your own machine, so there's no hosted link. To try it, follow the quick start in the repo README.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/ASAN-11/Sagittarius" rel="noopener noreferrer"&gt;https://github.com/ASAN-11/Sagittarius&lt;/a&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Open-weight model:&lt;/strong&gt; Gemma, served locally by &lt;a href="https://ollama.com" rel="noopener noreferrer"&gt;Ollama&lt;/a&gt;. The page streams responses from Ollama's &lt;code&gt;/api/chat&lt;/code&gt; endpoint, and the model menu lists whatever models you've pulled (Gemma, Llama, Qwen and others).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; plain HTML, CSS and JavaScript in one file, with no build step and no dependencies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weather:&lt;/strong&gt; &lt;a href="https://open-meteo.com" rel="noopener noreferrer"&gt;Open-Meteo&lt;/a&gt;, which is free and needs no key. It's the only online part, and it's optional.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Storage:&lt;/strong&gt; browser &lt;code&gt;localStorage&lt;/code&gt; for the journal, frost dates and outdoor-time log.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Graceful fallback:&lt;/strong&gt; if Ollama isn't running, the planner still works from built-in rules. When the model is running, it writes a fuller plan on top of those rules, using the real forecast numbers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design:&lt;/strong&gt; a light-mode interface with a collapsible sidebar, and background media holders so you can add your own video or images.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;Best Use of Gemma:&lt;/strong&gt; Sagittarius runs Gemma locally through Ollama as its default field-guide model. It powers the streamed chat answers and the written outing plans, all on the user's own machine with no API key and no internet needed for the model.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;It works with no signal.&lt;/strong&gt; The model lives on your laptop, so a bird-call question at the trailhead still gets an answer. A closed API would fail the moment you lose signal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your places stay private.&lt;/strong&gt; Where you hike, bird and garden is personal. Prompts go to &lt;code&gt;localhost&lt;/code&gt;, and journal entries never leave your device.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You can change the model.&lt;/strong&gt; Swap Gemma for another model in one dropdown, rewrite the system prompt, or fine-tune on your own region's species list. No vendor decides what the app can do.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It costs nothing to run.&lt;/strong&gt; No API keys, accounts or per-token fees, so someone can use it every day without thinking about a bill.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Recipe Keeper - Hacktoberfest '26</title>
      <dc:creator>Ashish Anand</dc:creator>
      <pubDate>Mon, 05 Oct 2026 03:32:50 +0000</pubDate>
      <link>https://dev.to/ashishanand/recipe-keeper-hacktoberfest-26-42om</link>
      <guid>https://dev.to/ashishanand/recipe-keeper-hacktoberfest-26-42om</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;&lt;strong&gt;Recipe Keeper&lt;/strong&gt; is a small web app that turns [Grandpa's / Name's] rambling voice memos into a printable family cookbook.&lt;/p&gt;

&lt;p&gt;I built it for my grandfather. He cooks entirely by feel: "a fistful of rice, no, more, and onions until it smells right." None of it is written down, and the recipes will be lost if nobody captures them. A normal recipe app would force exact measurements he never uses, and it would throw away the stories that make the food his.&lt;/p&gt;

&lt;p&gt;You paste in a transcript of what he said. A local AI model turns it into a clean recipe card with a title, ingredients, steps and notes. It follows two rules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;It never invents quantities.&lt;/strong&gt; "A fistful" stays "a fistful".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unclear parts become questions to ask him&lt;/strong&gt;, such as "Ask Grandpa: how long is 'until it smells right'?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every card also keeps a quote of his original words underneath. Each recipe has a photo slot for the dish, and the whole cookbook can be printed or saved as a PDF to give back to the family.&lt;/p&gt;

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

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

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

&lt;p&gt;&lt;a href="https://github.com/ASAN-11/Recipe-Keeper" rel="noopener noreferrer"&gt;https://github.com/ASAN-11/Recipe-Keeper&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's a single file, &lt;code&gt;recipe-keeper.html&lt;/code&gt;, with no build step and no dependencies.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Model:&lt;/strong&gt; an open-weight model run locally with &lt;strong&gt;Ollama&lt;/strong&gt; (I used &lt;code&gt;llama3.2&lt;/code&gt;, and the app lets you pick any model you have installed).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inference:&lt;/strong&gt; the page calls Ollama's local &lt;code&gt;/api/chat&lt;/code&gt; endpoint. Responses are streamed so you see the model working, and JSON mode (&lt;code&gt;format: "json"&lt;/code&gt;) with a low temperature keeps the output a structured recipe.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prompting:&lt;/strong&gt; the system prompt tells the model to use only what was said and never guess amounts. It also tells it to flag unclear steps as questions for the cook.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;App:&lt;/strong&gt; plain HTML, CSS and JavaScript. The cookbook is saved in the browser's local storage, and it can be exported or imported as a JSON backup. The hero section takes a background photo or video, and a print stylesheet makes a clean PDF.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Setup:&lt;/strong&gt; &lt;code&gt;ollama pull llama3.2&lt;/code&gt;, then serve the page from localhost (&lt;code&gt;python -m http.server&lt;/code&gt;) or start Ollama with &lt;code&gt;OLLAMA_ORIGINS="*"&lt;/code&gt;.&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; these are family recipes and a grandparent's own voice and stories. With a local model, none of it goes to a server I don't control, and there's no account to make.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Works offline:&lt;/strong&gt; after the one-time model download, it runs with no internet. That matters in a kitchen or at a grandparent's house.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Free to run:&lt;/strong&gt; there are no API keys and no per-token cost, so I can process as many memos as I want.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Swappable and tunable:&lt;/strong&gt; I can change models from a dropdown, and later I could fine-tune one on the finished cookbook so the cards sound like him.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;I control the behavior:&lt;/strong&gt; the "never invent quantities" rule matters a lot for heirloom recipes. With an open model I own the prompt and settings, and no provider can change them under me.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;What my father said when I showed him:&lt;/strong&gt; "Good, Boy!!" He asked me to do with his scrambled eggs recipe and shahi panner and it worked.&lt;/p&gt;

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