<?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: sujal chandel</title>
    <description>The latest articles on DEV Community by sujal chandel (@workonlly335).</description>
    <link>https://dev.to/workonlly335</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%2F4179905%2F29222eba-f91d-4c8a-9d71-5c0f18f9ddcb.jpg</url>
      <title>DEV Community: sujal chandel</title>
      <link>https://dev.to/workonlly335</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/workonlly335"/>
    <language>en</language>
    <item>
      <title>Recuerdos.local: An Offline Ofrenda &amp; Memory Weaver</title>
      <dc:creator>sujal chandel</dc:creator>
      <pubDate>Mon, 26 Oct 2026 19:10:55 +0000</pubDate>
      <link>https://dev.to/workonlly335/recuerdoslocal-an-offline-ofrenda-memory-weaver-3h0i</link>
      <guid>https://dev.to/workonlly335/recuerdoslocal-an-offline-ofrenda-memory-weaver-3h0i</guid>
      <description>&lt;p&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26"&gt;Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;I built &lt;strong&gt;Recuerdos.local&lt;/strong&gt;, a fully offline, voice-interactive digital &lt;em&gt;ofrenda&lt;/em&gt; (altar) and memory archivist. It acts as a gentle conversational companion that interviews you about a lost loved one, transcribes your stories, and weaves them into a beautiful, static digital remembrance—extracting favorite foods, songs, and core memories along the way. &lt;/p&gt;

&lt;p&gt;The inspiration came from my family's Día de los Muertos traditions. We spend hours telling stories about those who have passed, but those oral histories fade. I wanted a way to preserve them without inviting corporate data-mining into our most intimate moments of grief and remembrance. &lt;/p&gt;

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

&lt;p&gt;Here is a terminal walkthrough of a session where I build an ofrenda for my grandfather:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Since the project involves private family data, the live output generates locally on &lt;code&gt;localhost:3000&lt;/code&gt; and is not hosted publicly.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Recuerdos.local is built entirely on open-source AI and runs strictly on local hardware. The open pieces are the only reason this project was possible:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Voice Transcription:&lt;/strong&gt; I used &lt;strong&gt;Whisper.cpp&lt;/strong&gt; (specifically the &lt;code&gt;base.en-es&lt;/code&gt; model) to capture and transcribe spoken family stories in real-time. It seamlessly handles code-switching between English and Spanish, which is crucial for my family.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The "Spirit" Engine:&lt;/strong&gt; The core conversational logic runs on &lt;strong&gt;Meta Llama-3.1-8B-Instruct&lt;/strong&gt;, executed completely locally via &lt;strong&gt;Ollama&lt;/strong&gt;. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent Framework:&lt;/strong&gt; A lightweight &lt;strong&gt;LangChain&lt;/strong&gt; harness manages the state. It takes the Whisper transcripts and uses Llama-3.1 to gently prompt the user for more details (e.g., &lt;em&gt;"You mentioned your grandmother's tamales—do you remember what music played in the kitchen when she made them?"&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Output:&lt;/strong&gt; Once the session closes, the LangChain agent processes the context window to output a formatted Markdown file representing the digital ofrenda.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;When building something that touches on death, memory, and family heritage, &lt;strong&gt;privacy is not just a feature; it is a fundamental sign of respect.&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Total Data Sovereignty:&lt;/strong&gt; I refuse to send my family's intimate stories of grief, our secret recipes, or the names of our departed to a closed corporate API where they might be logged or used as training data. Open-weight models ensure our ancestors' memories stay strictly inside our home.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline by Design:&lt;/strong&gt; By running Ollama and Whisper.cpp on my machine, this project works perfectly with the Wi-Fi completely turned off. It feels fitting for Día de los Muertos: a self-contained, quiet space that requires no connection to the outside world—just a connection to the past.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero Ongoing Costs:&lt;/strong&gt; Because it relies on local inference, I can package this up on an old laptop, leave it running in the living room during the holiday, and never worry about racking up API billing limits while my family spends hours talking to it.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;You can see the evolution of the prompt engineering, the LangChain state management, and the local model configuration in my DevRelay session:&lt;/p&gt;

&lt;h2&gt;
  
  
  The Spirit of It
&lt;/h2&gt;

&lt;p&gt;The moment this project actually landed was during testing last weekend. I asked my mom to try it out by talking about her late father. She started telling a standard story about his old truck. The local Llama model picked up on a stray detail she mentioned about the radio and asked, &lt;em&gt;"What station was usually playing on that radio?"&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;She paused, teared up, and suddenly remembered the exact name of a defunct local Tejano radio station from the 1980s. She spent the next twenty minutes talking about the music they listened to. That detail would have been lost forever if the agent hadn't nudged her. Now, it's permanently etched into his digital ofrenda.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Local LLM Pioneer&lt;/li&gt;
&lt;li&gt;Best Use of LangChain&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>SlothSort: The Lazy, Fully Local AI Daemon That Tidies Your Desktop While You Sleep</title>
      <dc:creator>sujal chandel</dc:creator>
      <pubDate>Fri, 23 Oct 2026 04:44:34 +0000</pubDate>
      <link>https://dev.to/workonlly335/slothsort-the-lazy-fully-local-ai-daemon-that-tidies-your-desktop-while-you-sleep-1l7f</link>
      <guid>https://dev.to/workonlly335/slothsort-the-lazy-fully-local-ai-daemon-that-tidies-your-desktop-while-you-sleep-1l7f</guid>
      <description>&lt;p&gt;What I Built&lt;br&gt;
Most developers have a ~/Downloads or ~/Desktop directory that resembles a digital landfill: cryptic file names like statement_final(1).pdf, unreadable screenshots, random code snippets, and invoices lost in the abyss. Sorting through digital clutter manually requires cognitive bandwidth that nobody wants to spend after a long day of coding.&lt;/p&gt;

&lt;p&gt;In honor of International Sloth Day and the "Slow and Steady" theme, I built SlothSort — a background daemon that rewards total digital laziness.&lt;/p&gt;

&lt;p&gt;SlothSort watches specified directories, reads the actual contents of cluttered documents and screenshots, deduces what they are, automatically gives them semantic names, and safely organizes them into clean folder hierarchies (e.g., Documents/Finance/2026/October/).&lt;/p&gt;

&lt;p&gt;It takes zero clicks, zero manual sorting, and requires zero effort from the user. You let your machine idle, make a coffee, and let the background agent tidy up.&lt;/p&gt;

&lt;p&gt;Demo&lt;br&gt;
Repository &amp;amp; Docs: &lt;a href="https://github.com/sujalzombie01/signi-board" rel="noopener noreferrer"&gt;https://github.com/sujalzombie01/signi-board&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is a quick look at SlothSort running quietly in the terminal:&lt;/p&gt;

&lt;p&gt;The repository includes:&lt;/p&gt;

&lt;p&gt;The background daemon with configurable debounce and throttling controls.&lt;/p&gt;

&lt;p&gt;Extraction pipelines for PDFs, text files, and images.&lt;/p&gt;

&lt;p&gt;Strict Pydantic JSON schemas that enforce clean file names and target paths.&lt;/p&gt;

&lt;p&gt;A local SQLite ledger to inspect, rollback, or undo any file move with one command.&lt;/p&gt;

&lt;p&gt;How I Built It&lt;br&gt;
SlothSort is designed entirely around open-source AI and local runtime tools:&lt;/p&gt;

&lt;p&gt;Open-Weight Models:&lt;/p&gt;

&lt;p&gt;Llama-3.2-3B-Instruct (Q4_K_M quantized): Handles content classification, metadata extraction, and path resolution via strict structured JSON output.&lt;/p&gt;

&lt;p&gt;Moondream2 / Llama-3.2-11B-Vision: Parses screenshots, diagrams, and image receipts when text extraction yields no raw text.&lt;/p&gt;

&lt;p&gt;Local Inference Harness:&lt;/p&gt;

&lt;p&gt;Powered by Ollama and llama.cpp, leveraging Apple Silicon Metal / CUDA acceleration without making a single outbound network call.&lt;/p&gt;

&lt;p&gt;Core Orchestration:&lt;/p&gt;

&lt;p&gt;Built with Python using watchdog to monitor OS file-system hooks.&lt;/p&gt;

&lt;p&gt;Document extraction handled via pypdf and pytesseract.&lt;/p&gt;

&lt;p&gt;Structured output validation enforced with pydantic.&lt;/p&gt;

&lt;p&gt;[ Messy Folder: ~/Downloads ]&lt;br&gt;
           │&lt;br&gt;
           ▼ (watchdog event)&lt;br&gt;
   [ Content Extractor ] ──▶ (PDF / OCR / Text)&lt;br&gt;
           │&lt;br&gt;
           ▼&lt;br&gt;
[ Local LLM via Ollama ] ──▶ (Llama-3.2-3B: Classify &amp;amp; Formulate Path)&lt;br&gt;
           │&lt;br&gt;
           ▼&lt;br&gt;
[ File Engine ] ──▶ Rename, Move to ~/Organized, Append to local history&lt;br&gt;
Why Does Open Innovation Matter?&lt;br&gt;
Absolute Privacy for Sensitive Personal Data:&lt;br&gt;
The files we put off sorting are almost always our most private: tax forms, salary stubs, medical receipts, and lease agreements. Feeding those files to closed third-party cloud APIs requires trusting a remote server with sensitive unencrypted data. Running local, open weights guarantees an air-gapped workflow where zero bytes leave the machine.&lt;/p&gt;

&lt;p&gt;Zero Marginal Cost for Passive Background Tasks:&lt;br&gt;
Paying per-token charges to a closed cloud provider makes you hesitate to clean up large backlogs or leave a daemon idling. Because open-weight models run on local compute, running SlothSort on thousands of archived files costs $0.00.&lt;/p&gt;

&lt;p&gt;Portability and Modularity:&lt;br&gt;
With open-weight standards (GGUF, Ollama formats), users aren't locked into a specific vendor. If a lighter 1B model or a domain-specific model is released next month, swapping the core engine requires changing a single environment variable: SLOTHSORT_MODEL=qwen2.5:3b.&lt;/p&gt;

&lt;p&gt;The Lazy Payoff&lt;br&gt;
Before SlothSort, my ~/Downloads directory had accumulated over 380 unfiled documents, screenshots, and receipts dating back several months.&lt;/p&gt;

&lt;p&gt;During testing this week:&lt;/p&gt;

&lt;p&gt;Time saved: Approximately 2.5 hours of manual folder browsing, previewing, renaming, and filing.&lt;/p&gt;

&lt;p&gt;Lazy metric: Cleaned 384 files with exactly 1 terminal command and zero follow-up maintenance.&lt;/p&gt;

&lt;p&gt;System overhead: Because it runs low-priority local quantization in bursts, CPU usage remained under 12% on idle cycles and never spiked fan noise.&lt;/p&gt;

&lt;p&gt;Prize Categories&lt;br&gt;
Overall Winner&lt;/p&gt;

&lt;p&gt;Backboard Partner Category&lt;/p&gt;

&lt;p&gt;Render Partner Category&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Built an AI Voice-Operated Notification Summarizer for #Hacktoberfest2026 using Flutter, Open-Source Gemma &amp; Gemini MCP!</title>
      <dc:creator>sujal chandel</dc:creator>
      <pubDate>Tue, 13 Oct 2026 23:17:51 +0000</pubDate>
      <link>https://dev.to/workonlly335/built-an-ai-voice-operated-notification-summarizer-for-hacktoberfest2026-using-flutter-22i2</link>
      <guid>https://dev.to/workonlly335/built-an-ai-voice-operated-notification-summarizer-for-hacktoberfest2026-using-flutter-22i2</guid>
      <description>&lt;p&gt;Drowning in daily notifications? For Hacktoberfest 2026, I built an open-source Flutter app that doesn’t just summarize your notifications—it lets you manage them completely hands-free using a local-first AI voice assistant.   Instead of sending private phone notifications to the cloud, this project uses a hybrid AI architecture that combines on-device privacy with live internet intelligence:How It Works:Local Gemma as the Orchestrator: An open-source Gemma model runs as the primary brain. It reads incoming notifications, groups them by priority (Work, Social, Updates), and generates a clean daily summary.   Voice-Driven CRUD Operations: You can talk directly to your notification log. Say "Show urgent alerts," "Mark work messages as read," or "Delete all promotional updates," and Gemma translates your voice intent into real-time Create, Read, Update, and Delete (CRUD) operations on the local database.   Gemini Free API + MCP Internet Fallback: Ask the voice assistant anything! If a question requires live world knowledge or something the local Gemma model doesn’t know, it automatically routes the query through MCP (Model Context Protocol) using a free-tier Gemini API key to search the live web and speak the answer back to you.   Tech Stack:Frontend: Flutter (Cross-platform UI, Speech-to-Text &amp;amp; Text-to-Speech)   Local Orchestrator: Gemma (Open-Source LLM for intent parsing, summarization &amp;amp; CRUD tool calling)   Cloud Fallback: Gemini API (Free Tier) connected via MCP for live internet access   We are officially open for Hacktoberfest contributions! Whether you want to add new MCP tools, refine the Gemma prompt templates, or polish the Flutter UI, check out the repo and grab an issue&lt;/p&gt;

&lt;h1&gt;
  
  
  Hacktoberfest #Hacktoberfest2026 #Flutter #Gemma #GeminiAI #MCP #ModelContextProtocol #OpenSource #MobileDev #BuildInPublic
&lt;/h1&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%2Feleh3tfuuwe3s3703zzl.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%2Feleh3tfuuwe3s3703zzl.png" alt=" " width="800" height="1517"&gt;&lt;/a&gt;&lt;/p&gt;

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