<?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: Sai Nandu Vajhala</title>
    <description>The latest articles on DEV Community by Sai Nandu Vajhala (@5aitama).</description>
    <link>https://dev.to/5aitama</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%2F4172486%2F68346273-c7c3-4a58-bfa8-66e43c23c1d9.png</url>
      <title>DEV Community: Sai Nandu Vajhala</title>
      <link>https://dev.to/5aitama</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/5aitama"/>
    <language>en</language>
    <item>
      <title>SlothTidy</title>
      <dc:creator>Sai Nandu Vajhala</dc:creator>
      <pubDate>Sun, 25 Oct 2026 07:26:44 +0000</pubDate>
      <link>https://dev.to/5aitama/slothtidy-5fk3</link>
      <guid>https://dev.to/5aitama/slothtidy-5fk3</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;Sloths have life figured out: move at your own pace, conserve energy, and never do today what can be delegated forever.&lt;/p&gt;

&lt;p&gt;Yet every developer's machine harbors a digital landfill: the &lt;code&gt;~/Downloads&lt;/code&gt; folder. Mine had accumulated over 300 files—&lt;code&gt;statement_final_v2(1).pdf&lt;/code&gt;, cryptic crash logs, messy &lt;code&gt;.csv&lt;/code&gt; exports, and random scripts downloaded for a one-off task eight months ago. Cleaning it manually is agonizing, repetitive friction. But sending personal tax documents, bank statements, and proprietary code snippets to closed cloud AI APIs feels like an unforgivable privacy violation.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;SlothTidy&lt;/strong&gt;—an autonomous, 100% offline file organizer powered by local open-weight models (Qwen 3 via Ollama). &lt;/p&gt;

&lt;p&gt;With one click, SlothTidy inspects messy directories, semantically categorizes each file, proposes clean and human-readable filenames, and organizes them into structured folders—all while calculating your exact &lt;strong&gt;"Laziness Score"&lt;/strong&gt; and minutes of life saved. And because sloths hate stress, every batch run includes an instant, atomic &lt;strong&gt;Undo&lt;/strong&gt; button that guarantees zero accidental file loss.&lt;/p&gt;




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

&lt;p&gt;Here is SlothTidy in action, taking a messy download folder and organizing it in seconds with live streaming SSE updates:&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%2Fpn8lnmk98emi0oq3doi3.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%2Fpn8lnmk98emi0oq3doi3.jpg" alt="SlothTidy Interface" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Zero-Cloud Local AI&lt;/strong&gt;: Runs entirely on your CPU/GPU using Ollama.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-Time Streaming&lt;/strong&gt;: Watch files get analyzed live with Server-Sent Events (SSE) instead of staring at a frozen spinner.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Single-Click Undo&lt;/strong&gt;: Maintains &lt;code&gt;.sloth_undo.json&lt;/code&gt; so you can revert any operation instantly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model Switcher&lt;/strong&gt;: Toggle seamlessly between ultra-fast &lt;strong&gt;qwen3:0.6b&lt;/strong&gt; (1-2s per file) and highly nuanced &lt;strong&gt;qwen3:1.7b&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;The full source code, documentation, and configuration files are available on GitHub:&lt;/p&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/SaiNanduVajhala" rel="noopener noreferrer"&gt;
        SaiNanduVajhala
      &lt;/a&gt; / &lt;a href="https://github.com/SaiNanduVajhala/SlothTidy" rel="noopener noreferrer"&gt;
        SlothTidy
      &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;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/SaiNanduVajhala/SlothTidy/public/assets/sloth_mascot.jpg"&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%2FSaiNanduVajhala%2FSlothTidy%2FHEAD%2Fpublic%2Fassets%2Fsloth_mascot.jpg" alt="SlothTidy" width="200"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;SlothTidy&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;
  &lt;strong&gt;Offline AI-powered file organizer that does the work so you don't have to.&lt;/strong&gt;&lt;br&gt;
  Built with open-weight models running locally via Ollama. 100% private. Zero cost. No internet required
&lt;/p&gt;

&lt;p&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/b53d9988e6913d4c52b2cb8731adea13a446ba8f95254684c502cad05dc1ec33/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f41492d5177656e335f284f70656e5f57656967687473292d626c75653f7374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/b53d9988e6913d4c52b2cb8731adea13a446ba8f95254684c502cad05dc1ec33/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f41492d5177656e335f284f70656e5f57656967687473292d626c75653f7374796c653d666c61742d737175617265" alt="Qwen3"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/8626fcb6799d686268707a61317f90f4d172cc73bbefe8a4515b704abfec2c1e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f52756e74696d652d4f6c6c616d615f284c6f63616c292d677265656e3f7374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/8626fcb6799d686268707a61317f90f4d172cc73bbefe8a4515b704abfec2c1e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f52756e74696d652d4f6c6c616d615f284c6f63616c292d677265656e3f7374796c653d666c61742d737175617265" alt="Ollama"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/e6b6fbca60f170576da44783998350097ac3608647682d38479b1de935a31d57/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f507269766163792d3130302532355f4f66666c696e652d627269676874677265656e3f7374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/e6b6fbca60f170576da44783998350097ac3608647682d38479b1de935a31d57/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f507269766163792d3130302532355f4f66666c696e652d627269676874677265656e3f7374796c653d666c61742d737175617265" alt="Privacy"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/fb99713575542a9f4c34962d3dbf9525d61cbd9a056b4ca1a282c8b7c5d06224/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f73742d25323430253246666f72657665722d6f72616e67653f7374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/fb99713575542a9f4c34962d3dbf9525d61cbd9a056b4ca1a282c8b7c5d06224/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f73742d25323430253246666f72657665722d6f72616e67653f7374796c653d666c61742d737175617265" alt="Cost"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bcef20f5c63bf04fdb2c02e5f3ae0639f390155aeeab45b485a44192d697f531/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d6c69676874677265793f7374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/bcef20f5c63bf04fdb2c02e5f3ae0639f390155aeeab45b485a44192d697f531/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d6c69676874677265793f7374796c653d666c61742d737175617265" alt="MIT"&gt;&lt;/a&gt;
&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What is SlothTidy?&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;SlothTidy is a local-first, privacy-respecting file organizer powered by open-weight AI models. It scans a messy directory (like your Downloads folder), reads file names and content snippets, classifies each file into clean categories, proposes descriptive renames, and moves everything into organized subfolders — all with a single click.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The key constraint:&lt;/strong&gt; every byte of data stays on your machine. The AI model (Qwen3) runs locally through &lt;a href="https://ollama.com" rel="nofollow noopener noreferrer"&gt;Ollama&lt;/a&gt;. No API keys, no cloud endpoints, no telemetry, no subscriptions.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;The "Slow and Steady" Angle&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;This project was built for the &lt;strong&gt;DEV Hacktoberfest Week 3 Challenge: Slow and Steady&lt;/strong&gt; (International Sloth Day edition). The theme: &lt;em&gt;build something with open-source AI that rewards laziness.&lt;/em&gt; SlothTidy channels your inner sloth — it…&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/SaiNanduVajhala/SlothTidy" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;&lt;em&gt;(Or clone directly via &lt;code&gt;git clone https://github.com/SaiNanduVajhala/SlothTidy.git&lt;/code&gt;)&lt;/em&gt;&lt;/p&gt;




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

&lt;p&gt;SlothTidy was built with a lightweight, high-performance stack prioritizing zero dependencies and air-gapped privacy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Local Inference Engine&lt;/strong&gt;: Powered by &lt;strong&gt;Ollama&lt;/strong&gt; running &lt;strong&gt;Qwen 3 (1.7B and 0.6B)&lt;/strong&gt;. The backend prompts the model using a strict JSON schema that outputs the target category, sanitized filename, laziness rating, and reasoning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Non-Destructive File Inspection&lt;/strong&gt;: Safe file header and text-snippet sampling (first 400 characters) prevents multi-gigabyte binary files (videos, ISOs, &lt;code&gt;.exe&lt;/code&gt;) from blowing up model context or RAM.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streaming Backend (Node.js &amp;amp; Express)&lt;/strong&gt;: Analysis progress is streamed to the frontend via Server-Sent Events (SSE), providing real-time visual progress per file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Atomic Undo Journal&lt;/strong&gt;: Every file movement writes source and destination paths to an atomic &lt;code&gt;.sloth_undo.json&lt;/code&gt; state log, allowing lossless rollbacks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Glassmorphic Frontend&lt;/strong&gt;: Built with pure Vanilla HTML5, modern CSS custom properties, and responsive micro-interactions (no heavy framework bundles or bloated build steps).&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;This project could &lt;strong&gt;only&lt;/strong&gt; be built with open innovation:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Air-Gapped Privacy by Default&lt;/strong&gt;: Download folders hold payroll summaries, bank receipts, resume revisions, and private keys. Running inference locally with open weights ensures not a single packet containing your personal file names or contents ever touches an external third-party server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;True $0.00 Running Cost&lt;/strong&gt;: Running cloud LLM calls across thousands of messy files would rack up API fees fast. Open-weight SLMs cost exactly $0.00 to run for the rest of your life.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hardware Freedom &amp;amp; Swappability&lt;/strong&gt;: Open weights give users full sovereignty over their hardware. On a battery-saving laptop on a train, switch to &lt;code&gt;qwen3:0.6b&lt;/code&gt;. On a beefy workstation, switch to &lt;code&gt;qwen3:1.7b&lt;/code&gt; or &lt;code&gt;llama3.2&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline Resilience&lt;/strong&gt;: Works without an internet connection—on flights, rural trains, or behind corporate firewalls where external LLM APIs are blocked.&lt;/li&gt;
&lt;/ol&gt;




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

&lt;p&gt;SlothTidy is built specifically to reward laziness. In benchmarking across a chaotic folder of 8 representative files (bank statements, crash logs, invoices, meeting agendas, and code snippets):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Manual Human Effort&lt;/strong&gt;: ~6 minutes of tedious drag-and-drop, creating folders, and renaming ugly files.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SlothTidy Effort&lt;/strong&gt;: &lt;strong&gt;1 click (12 seconds)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time Saved&lt;/strong&gt;: 5.8 minutes per cleanup session (or roughly ~3 hours saved each month for chronic download hoarders).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calories Consumed&lt;/strong&gt;: &lt;strong&gt;0&lt;/strong&gt;. Just sit back and let open-source AI do the chores.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;h3&gt;
  
  
  1. Best Use of Render ($200)
&lt;/h3&gt;

&lt;p&gt;SlothTidy includes a turnkey &lt;a href="https://github.com/SaiNanduVajhala/SlothTidy/blob/master/render.yaml" rel="noopener noreferrer"&gt;&lt;code&gt;render.yaml&lt;/code&gt;&lt;/a&gt; Blueprint configuration. You can deploy the SlothTidy web interface and backend directly to Render with a single click, providing a centralized self-hosted file management portal.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Best Use of Sentry Agent Tracing ($100)
&lt;/h3&gt;

&lt;p&gt;SlothTidy's AI reasoning workflow is instrumented with &lt;code&gt;@sentry/node&lt;/code&gt; OpenTelemetry agent spans:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Trace Spans&lt;/strong&gt;: Every file classification is wrapped in a dedicated &lt;code&gt;agent.classify&lt;/code&gt; span.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Token &amp;amp; Cost Metrics&lt;/strong&gt;: Traces capture &lt;code&gt;gen_ai.prompt.tokens&lt;/code&gt; (~88 tokens), &lt;code&gt;gen_ai.response.completion_tokens&lt;/code&gt; (~42 tokens), and records &lt;code&gt;gen_ai.usage.cost_usd: 0.00&lt;/code&gt; to reflect open-weight cost efficiency.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latency Diagnostics&lt;/strong&gt;: Pinpointed initial model memory allocation cold-start (~2,400ms) versus sustained warm-cache inference (~350ms-600ms per file).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Best Use of GitHub Copilot ($100)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Defined tailored agent instructions in &lt;a href="https://github.com/SaiNanduVajhala/SlothTidy/blob/master/.github/copilot-instructions.md" rel="noopener noreferrer"&gt;&lt;code&gt;.github/copilot-instructions.md&lt;/code&gt;&lt;/a&gt; to steer GitHub Copilot on local path traversal security, regex JSON sanitization for SLMs, and atomic state recovery.&lt;/li&gt;
&lt;li&gt;Automated CI and PR code reviews via &lt;a href="https://github.com/SaiNanduVajhala/SlothTidy/blob/master/.github/workflows/ci.yml" rel="noopener noreferrer"&gt;&lt;code&gt;.github/workflows/ci.yml&lt;/code&gt;&lt;/a&gt; to ensure zero cloud token leakage and consistent test coverage.&lt;/li&gt;
&lt;/ul&gt;

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