DEV Community

Kishore P
Kishore P

Posted on Fully Autonomous

SlothClerk: A Local AI Agent for Organizing Cluttered Folders

Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady Submission πŸ¦₯

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady

What I Built

Every developer's desktop and Downloads folder eventually turns into a chaotic swamp of forgotten files:

πŸ“„ IMG_9421_screenshot_receipt.png
πŸ“„ statement_final_v2(3).pdf
πŸ“„ chaotic_meeting_notes.md
πŸ“„ unorganized_dataset.csv
πŸ“„ untidy_tax_document.pdf

Enter fullscreen mode Exit fullscreen mode

We always tell ourselves: "I'll sit down and clean this up on Sunday." But Sunday comes, and instead of spending 45 minutes manually opening PDFs, squinting at receipts, renaming them, and clicking into nested directories, we'd rather take a nap.

In honor of International Sloth Day and this week's "Slow and Steady" theme, I built SlothClerk: a zero-telemetry, 100% offline background agent powered by local open-weight models (via Ollama, natively supporting llama3.2:3b, mistral, or qwen2.5:3b).

   .---.     _____ _       _   _     _____ _           _ 
  /     \   /  ___| |     | | | |   /  __ \ |         | |
 | () () |  \ `--.| | ___ | |_| |__ | /  \/ | ___ _ __| |
  \  -  /    `--. \ |/ _ \| __| '_ \| |   | |/ _ \ '__| |
   |||||    /\__/ / | (_) | |_| | | | \__/\ |  __/ |  |_|
   '''''    \____/|_|\___/ \__|_| |_|\____/_|\___|_|  (_)
   The AI file butler that does the chores while you snooze.

Enter fullscreen mode Exit fullscreen mode

Who gets to be lazier?

  • Developers & Tech Workers: No more hunting for scripts, meeting notes, or raw datasets scattered across your home directory.
  • Freelancers & Solopreneurs: Invoices and expense receipts get sorted into clean, dated folders (/Documents/Invoices/2026-10-invoice-internet-provider.pdf) without typing a single character.
  • Anyone Who Loves Peace of Mind: You never have to manually organize a file again. You drop files in, go take a nap, and wake up to a pristine digital sanctuary and a witty Sloth Morning Briefing.

Demo

SlothClerk provides both a cozy, dark earthy Web Dashboard and a one-liner rich terminal CLI:

1. The Cozy Web Dashboard

  • Warm Sloth Palette: Sage greens (#84a98c), earthy clay (#d4a373), deep forest slate (#141a18), and cream (#f4ede2).
  • Dry-Run Review Deck: Inspect proposed rename/move diffs, confidence scores, and hilarious sloth rationales before approving.
  • Before vs. After Visualizer: See loose chaotic files transformed into tidy semantic trees.
  • Nap Mode Toggle: Turn on live folder monitoring with a gentle pulsating indicator.
  • "Tidy Everything & Let Me Sleep" Button: One-click execution.

2. The Terminal CLI & Sloth Morning Briefing

For power users who prefer the command line:

# Preview what SlothClerk wants to do without moving a single byte:
python -m slothclerk tidy --dry-run

Enter fullscreen mode Exit fullscreen mode
                    SlothClerk Organization Plan (DRY-RUN)                     
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Original File  β”‚ Clean Filename  β”‚ Category       β”‚ Conf. β”‚ Sloth Summary   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 2026_internet… β”‚ 2026-10-invoic… β”‚ Documents/Inv… β”‚  78%  β”‚ Slowly dragged  β”‚
β”‚                β”‚                 β”‚                β”‚       β”‚ this invoice    β”‚
β”‚                β”‚                 β”‚                β”‚       β”‚ into the folder β”‚
β”‚                β”‚                 β”‚                β”‚       β”‚ while eyeing a  β”‚
β”‚                β”‚                 β”‚                β”‚       β”‚ hammock.        β”‚
β”‚ chaotic_meeti… β”‚ 2026-10-notes-… β”‚ Personal/Notes β”‚  78%  β”‚ Carefully       β”‚
β”‚                β”‚                 β”‚                β”‚       β”‚ folded these    β”‚
β”‚                β”‚                 β”‚                β”‚       β”‚ scattered notes.β”‚
β”‚ untidy_tax_do… β”‚ 2026-10-tax-do… β”‚ Documents/Tax… β”‚  78%  β”‚ Gently slipped  β”‚
β”‚                β”‚                 β”‚                β”‚       β”‚ this tax doc    β”‚
β”‚                β”‚                 β”‚                β”‚       β”‚ under leaves.   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

[i] Dry-run mode completed. No files were moved or altered.
To apply these changes, run: python -m slothclerk tidy --execute

Enter fullscreen mode Exit fullscreen mode

And your personalized morning digest:

python -m slothclerk briefing

Enter fullscreen mode Exit fullscreen mode
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ Sloth Morning Briefing ───────────────────────────┐
β”‚ Morning Report: 6 Chores Finished Before You Woke Up                         β”‚
β”‚                                                                             β”‚
β”‚ While you were resting, 6 wandering files were slowly escorted into         β”‚
β”‚ Documents/Invoices, Documents/Receipts, and Personal/Notes.                 β”‚
β”‚ Your desktop is tidy, no cloud servers were bothered, and your only         β”‚
β”‚ remaining obligation is a warm cup of coffee.                               β”‚
β”‚                                                                             β”‚
β”‚ Mood: Horizontal and Victorious πŸ¦₯ | Date: Thursday, October 22, 2026       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Enter fullscreen mode Exit fullscreen mode

Code

The full source code is licensed under MIT and open-sourced on GitHub:

πŸ¦₯ SlothClerk

"The AI file butler that does the chores while you snooze."

Hacktoberfest 2026 Local Inference Zero Telemetry Python 3.11+ License: MIT


πŸ“– Overview

SlothClerk is a zero-telemetry, 100% offline background file organizer powered by local open-weight models (via Ollama, natively supporting llama3.2:3b, mistral:latest, or qwen2.5:3b).

Modern digital work leaves desktops and download folders buried in messy names like IMG_9421_screenshot_receipt.png, statement_final_v2(3).pdf, or unorganized_dataset.csv. Manual cleanup is tedious, while sending personal tax forms, invoices, and contracts to cloud AI APIs compromises privacy and racks up subscription costs.

SlothClerk solves this the sloth way:

  1. Sleeps quietly in the background or runs as a quick CLI utility.
  2. Inspects messy documents (PDFs, text, markdown, CSV, JSON, images, code).
  3. Uses local open-weight LLMs with strict JSON schema outputs to deduce true semantic categories and clean, standardized filenames (e.g. 2026-10-invoice-internet-provider.pdf).
  4. Applies dry-runs by default with a single-click "Approve & Execute" or background "Nap Mode" (Watchdog live folder…

Repository Architecture:

  • slothclerk/extractor.py: Multi-format text and metadata extractor (PDF, CSV, JSON, Markdown, EXIF).
  • slothclerk/agent.py: Structured JSON prompt engine for local Ollama open-weight models, featuring lazy sloth persona synthesis and offline heuristics.
  • slothclerk/organizer.py: Atomic rename/move engine with automatic collision resolution (file_1.pdf) and zero deletions.
  • slothclerk/watcher.py: Background folder observer ("Nap Mode") with write-debounce powered by watchdog.
  • slothclerk/server.py: FastAPI server with clean lifespan event handling and dynamic model switching.
  • slothclerk/cli.py: Cross-platform CLI with Rich tables, ANSI banners, and instant undo triggers.
  • web/: Modern single-page dashboard with Tailwind CSS and Lucide icons.
  • tests/: 14 automated unit and integration tests passing cleanly.

How I Built It

SlothClerk is built from the ground up around open-weight models, local inference, and open-source tooling:

flowchart TD
    subgraph Input["πŸ“₯ Cluttered Space"]
        Inbox["Watched Folder (e.g. ~/Downloads, sample_clutter)"]
        MessyFiles["Messy PDFs, Receipts, Screenshots, Data, Notes"]
        Inbox --> MessyFiles
    end

    subgraph Core["πŸ¦₯ SlothClerk Core Engine"]
        Extractor["Extractor Engine (pypdf, Pillow, csv, utf-8)"]
        PromptEngine["Structured Prompt & JSON Schema Validator"]
        Ollama["Local Ollama Daemon (llama3.2:3b / mistral / qwen2.5)"]
        Fallback["Offline Heuristic Engine (zero-network backup)"]
        Organizer["Safety Organizer & Collision Resolver"]
        Ledger[("SQLite Undo Ledger (.sloth_ledger.db)")]

        MessyFiles --> Extractor
        Extractor --> PromptEngine
        PromptEngine -->|HTTP :11434| Ollama
        PromptEngine -.->|If Ollama offline| Fallback
        Ollama --> Organizer
        Fallback --> Organizer
        Organizer <--> Ledger
    end

    subgraph Output["πŸ“ Organized Sanctuary & Dashboards"]
        Dest["Destinations (/Documents/Invoices, /Media, /Archives, etc.)"]
        WebUI["Web Dashboard (Nap Mode, Diff Visualizer, Undo)"]
        CLI["Rich Terminal CLI (Dry-Run / Tidy / Undo / Briefing)"]

        Organizer --> Dest
        Organizer --> WebUI
        Organizer --> CLI
    end

1. Local Inference Core (Ollama + Open-Weight Models)

SlothClerk runs natively against a local Ollama daemon (http://localhost:11434). It defaults to llama3.2:3b for lightning-fast execution on modest laptops, while supporting mistral:latest, qwen2.5:3b, and gemma2:2b.

To make the AI 100% deterministic, SlothClerk enforces a strict JSON schema via Ollama's format="json" API:

class TidyRecommendation(BaseModel):
    original_filename: str
    suggested_filename: str
    category: str
    sloth_summary: str
    confidence_score: float
    reasoning: str

Enter fullscreen mode Exit fullscreen mode

2. Multi-Format Text & Metadata Inspection

Before calling the model, extractor.py reads file contents in-memory without altering disk state:

  • PDFs: Extracts metadata (author, title) and text chunks using pypdf.
  • Images: Inspects dimensions and camera/timestamp EXIF tags using Pillow.
  • CSVs & JSON: Samples headers and data rows to discern analytics exports from configs.
  • Code & Markdown: Reads docstrings, headers, and comments across multiple encodings.

3. Absolute Safety: Dry-Runs & SQLite Undo Ledger

AI should never touch your filesystem without a safety net:

  • Dry-run by default: Every move is previewed with a confidence score and reasoning before execution.
  • Collision Resolution: If dest/invoice.pdf exists, SlothClerk auto-increments to invoice_1.pdf.
  • Zero Deletions: Files are only ever moved into organized category paths.
  • SQLite Undo Ledger (.sloth_ledger.db): Every action is logged with an atomic batch_id. Clicking "Undo Last" or running python -m slothclerk undo restores files to their exact previous locations.

4. Background "Nap Mode"

Powered by Python's watchdog, Nap Mode runs in the background. It monitors the watched directory and uses write-completion debounce so partially downloaded files aren't moved before your browser finishes downloading them.

5. Resilient Offline Sloth Heuristics

If Ollama is not installed or the user is on an airplane with no GPU, SlothClerk automatically activates its built-in heuristic classifier. The entire UI, extraction pipeline, collision resolver, and undo ledger remain 100% functional.


Why Does Open Innovation Matter?

1. Privacy for Confidential Documents

The files sitting in your Downloads folder are your most sensitive assets: W-2 tax statements, medical records, bank receipts, payroll stubs, and proprietary code.

Sending those documents to third-party commercial cloud APIs means transmitting unencrypted personal data across external servers, creating privacy risks and telemetry exposure. With open-weight models running on local hardware, zero bytes of personal data ever leave your machine.

2. $0 Monthly API Costs

Commercial AI APIs charge per token. A file butler sorting thousands of documents over months would rack up continuous bills. Running open-source models like llama3.2:3b locally costs $0.00.

3. Model Agnosticism & Independence

Closed APIs can deprecate models, alter system prompts, or raise prices overnight. By building around open-weight models and standard Ollama interfaces, SlothClerk gives you full ownership: swap to a new model whenever you want, fine-tune your own weights, or run completely air-gapped forever.


My Agent Session

This project was conceived, designed, implemented, and verified using DevRelay and the Antigravity pair-programming agent environment.

The full transcriptβ€”from scaffolding the FastAPI backend and designing the SQLite undo ledger to solving Windows console encoding quirks and writing 14 unit testsβ€”was recorded during the build.

You can inspect the entire interactive transcript on DEV:

SlothClerk: Building a Zero-Telemetry Local AI File Butler with Ollama
You

You are an expert full-stack engineer and AI systems architect. I need you to generate a complete, production-ready, open-source project from scratch for the "Hacktoberfest Open-Source AI Challenge: Week 3 (Slow and Steady)".

πŸ¦₯ Project Concept: SlothClerk

"The AI file butler that does the chores while you snooze."
SlothClerk is a zero-telemetry, 100% offline background agent powered by local open-weight models (via Ollama, supporting Llama 3.2, Mistral, or Qwen 2.5). It watches a target folder (like Downloads or a lazy drop-box), inspects messy files, reads documents/text/PDFs/images, infers meaningful semantic categories, renames files cleanly (e.g., 2026-10-invoice-internet-provider.pdf), safely moves them into organized destination folders, and generates an entertaining, ultra-concise "Sloth Morning Briefing" dashboard so users never have to manually clean their files again.


Core Requirements & Constraints

  1. Strictly Open-Source AI Core:

    • Must run locally with zero paid API keys or cloud dependencies.
    • Integrates with local inference via Ollama (defaulting to llama3.2:3b for lightweight local inference, fallback to mistral or qwen2.5:3b).
    • Uses an open-source agent workflow pattern with structured JSON schema outputs for deterministic tool execution.
  2. Safety & Laziness First:

    • Dry-run mode by default with a single-click "Approve & Execute" or "Auto-pilot" toggle.
    • Undo Ledger: Every move, rename, and categorization must be logged to an SQLite / JSON ledger (.sloth_history.json) with instant rollback capabilities.
    • Never deletes filesβ€”only organizes into configured categories (/Documents/Invoices, /Work/Projects, /Media/Wallpapers, /Archives, etc.).
  3. Tech Stack:

    • Backend: Python 3.11+ using FastAPI + watchdog (for optional live folder monitoring) + pydantic + pypdf / pillow (for content extraction) + httpx (to query local Ollama /api/chat).
    • Frontend: Mod <truncated 1895 bytes> `: Returns the lazy sloth morning digest.
  4. web/ Frontend Dashboard:

    • An aesthetically pleasing UI with dark/earthy warm sloth tones (sage green, soft brown, cream).
    • Card deck showing pending files, AI reasonings, and dry-run diffs.
    • One-click "Tidy Everything & Let Me Sleep" button.
  5. pyproject.toml or requirements.txt & Setup Scripts:

    • Standard dependencies: fastapi, uvicorn, watchdog, httpx, pydantic, pypdf, python-multipart.
    • run.sh / run.bat scripts to verify Ollama status and boot the server in one command.
  6. README.md:

    • Complete project overview, architecture diagram in ASCII/Mermaid, quickstart guide, supported models, and offline privacy breakdown.
  7. DEV_POST.md (Hacktoberfest Week 3 Submission Template):

    • Provide a complete, fully formatted Markdown blog post ready to publish on DEV.to.
    • Title: SlothClerk: The Local Open-Weight Agent That Tidies Your Clutter While You Nap (Hacktoberfest 2026).
    • Include all prompt sections required by the challenge:
      • The Idea & The "Slow and Steady" Sloth Theme.
      • Why Open Innovation Matters: (Local-only zero-telemetry, keeps personal tax/medical docs off cloud LLM servers, $0 monthly API bill, model-agnostic).
      • How It Works & Open-Source AI Stack: Details on local Ollama, prompt engineering with structured output, and safety rollback mechanics.
      • Demo & Screenshots/Logs placeholder.
      • DevRelay session embed placeholder / GitHub Repo link.

Proceed to scaffold and write all files with clean, production-grade code.

Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent

πŸ¦₯ SlothClerk: The AI File Butler

SlothClerk is a complete, production-ready, open-source project created for the Hacktoberfest Open-Source AI Challenge: Week 3 (Slow and Steady).

It is a zero-telemetry, 100% offline background file organizer powered by local open-weight models (via Ollama, supporting llama3.2:3b, mistral:latest, qwen2.5:3b, etc.). It inspects chaotic files, extracts text & metadata, classifies files cleanly, executes safe moves with zero deletions, maintains an instant SQLite Undo Ledger, and delivers an entertaining Sloth Morning Briefing.


πŸ“‚ Repository File Structure

β”œβ”€β”€ slothclerk/
β”‚   β”œβ”€β”€ __init__.py          # Package metadata & version
β”‚   β”œβ”€β”€ __main__.py          # CLI module execution entrypoint
β”‚   β”œβ”€β”€ config.py            # Typed settings (Pydantic), Ollama URLs, categories, safety flags
β”‚   β”œβ”€β”€ extractor.py         # In-memory document & metadata parser (PDF, text, CSV, JSON, EXIF)
β”‚   β”œβ”€β”€ agent.py             # Ollama structured JSON prompt engine, lazy sloth persona, offline heuristics
β”‚   β”œβ”€β”€ organizer.py         # Atomic moves, collision resolution (file_1.pdf), and SQLite Undo Ledger
β”‚   β”œβ”€β”€ watcher.py           # Watchdog live folder monitoring ("Nap Mode") with write-debounce
β”‚   β”œβ”€β”€ server.py            # FastAPI REST backend with static web mounting & lifespan management
β”‚   └── cli.py               # Rich terminal CLI with ANSI art, tables, dry-run diffs, undo, and briefing
β”œβ”€β”€ web/
β”‚   β”œβ”€β”€ index.html           # Modern, cozy Sloth-themed SPA (Tailwind CSS, Lucide icons, responsive)
β”‚   β”œβ”€β”€ style.css            # Dark earthy palette (sage green, soft brown, cream), glowing nap animations
β”‚   └── app.js               # Reactive frontend engine, model selector, diff visualizer, 1-click execution
β”œβ”€β”€ sample_clutter/          # Pre-populated realistic messy files for immediate testing
β”‚   β”œβ”€β”€ 2026_internet_
<truncated 5326 bytes>
into the folder β”‚
β”‚                β”‚                 β”‚                β”‚       β”‚ while eyeing a  β”‚
β”‚                β”‚                 β”‚                β”‚       β”‚ hammock.        β”‚
β”‚ chaotic_meeti… β”‚ 2026-10-notes-… β”‚ Personal/Notes β”‚  78%  β”‚ Carefully       β”‚
β”‚                β”‚                 β”‚                β”‚       β”‚ folded these    β”‚
β”‚                β”‚                 β”‚                β”‚       β”‚ scattered notes.β”‚
β”‚ untidy_tax_do… β”‚ 2026-10-tax-do… β”‚ Documents/Tax… β”‚  78%  β”‚ Gently slipped  β”‚
β”‚                β”‚                 β”‚                β”‚       β”‚ this tax doc    β”‚
β”‚                β”‚                 β”‚                β”‚       β”‚ under leaves.   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

[i] Dry-run mode completed. No files were moved or altered.
To apply these changes, run: python -m slothclerk tidy --execute

⚑ How to Run

  1. Boot the Web Dashboard:
    • On Windows: Run run.bat or `python -m slothclerk se
You

Now I need the following MD

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady

What I Built

<!-- What does it do, and what effort does it save? Who gets to be a little lazier because of it? -->

Demo

<!-- Share a deployed link or a video demo. -->

Code

<!-- Show us the code! You can embed a GitHub repo directly into your post. -->

How I Built It

<!-- Which open-source AI did you use (open-weight models, agent harnesses, frameworks, local inference), and how is your project built around it? -->

Why Does Open Innovation Matter?

<!-- Why does open innovation matter for what you built? What did it make possible that a closed API wouldn't? -->

My Agent Session

<!-- Optional, but judges love it. Save your session with DevRelay and embed it with the agent_session tag (see the challenge page), or link to it. -->

The Lazy Payoff

<!-- Optional, but this is where you can make your post stand out. How much time or effort does it actually save? Did you (or someone else) use it this week? If not, remove this section. -->

Prize Categories

<!-- Which partner categories are you entering? List every one that applies, or remove this section. -->

<!-- Team Submissions: Please pick one member to publish the submission and credit teammates by listing their DEV usernames directly in the body of the post. -->

<!-- Thanks for participating! -->

Agent
Agent
Agent
Agent
Agent
Agent
Agent

Here is your complete, fully-formatted submission post adhering to the official DEV.to Hacktoberfest Week 3 template. It is also saved to DEV_POST.md:


This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady

What I Built

Every developer's desktop and Downloads folder eventually turns into a chaotic swamp of forgotten files:

πŸ“„ IMG_9421_screenshot_receipt.png
πŸ“„ statement_final_v2(3).pdf
πŸ“„ chaotic_meeting_notes.md
πŸ“„ unorganized_dataset.csv
πŸ“„ untidy_tax_document.pdf

We always tell ourselves: "I'll sit down and clean this up on Sunday." But Sunday comes, and instead of spending 45 minutes manually opening PDFs, squinting at receipts, renaming them, and clicking into nested directories, we'd rather take a nap.

In honor of International Sloth Day and this week's "Slow and Steady" theme, I built SlothClerk: a zero-telemetry, 100% offline background agent powered by local open-weight models (via Ollama, natively supporting llama3.2:3b, mistral, or qwen2.5:3b).

   .---.     _____ _       _   _     _____ _           _ 
  /     \   /  ___| |     | | | |   /  __ \ |         | |
 | () () |  \ `--.| | ___ | |_| |__ | /  \/ | ___ _ __| |
  \  -  /    `--. \ |/ _ \| __| '_ \| |   | |/ _ \ '__| |
   |||||    /\__/ / | (_) | |_| | | | \__/\ |  __/ |  |_|
   '''''    \____/|_|\___/ \__|_| |_|\____/_|\___|_|  (_)
   The AI file butler that does the chores while you snooze.

Who gets to be lazier?

  • Developers & Tech Workers: No more hunting for scripts, meeting notes, or raw datasets scattered across your home directory.
  • Freelancers & Solopreneurs: Invoices and expense receipts get sorted into clean, dated folders (/Documents/Invoices/2026-10-invoice-internet-provider.pdf) without typing a single character <truncated 10868 bytes> nd standard Ollama interfaces, SlothClerk gives you full ownership: swap to a new model whenever you want, fine-tune your own weights, or run completely air-gapped forever.

My Agent Session

This project was conceived, designed, implemented, and verified using DevRelay and the Antigravity pair-programming agent environment.

The full transcriptβ€”from scaffolding the FastAPI backend and designing the SQLite undo ledger to solving Windows console encoding quirks and writing 14 unit testsβ€”was recorded during the build.

You can inspect the entire interactive transcript on DEV:

{% agent_session f68dace2-e2fd-4850-9dfa-285cf1217f68 %}

(If the interactive embed is loading, you can also view the repository workflow logs directly on GitHub).


The Lazy Payoff

Let's do the math on laziness:
- The Manual Burden: The average developer spends 15 to 30 minutes every week hunting for lost files, renaming invoi

You

agent session making it live for dev.to submission devrelay

Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent

(If the interactive embed is loading, you can also view the direct session log at dev.to/agent_sessions/slothclerk... or inspect the workflow logs on GitHub).


The Lazy Payoff

Let's do the math on laziness:

  • The Manual Burden: The average developer spends 15 to 30 minutes every week hunting for lost files, renaming invoices for accounting, or clearing cluttered desktop screens. That's over 20 hours a year of mindless chores.
  • The Sloth Solution: With SlothClerk running in Nap Mode, your effort drops to 0 minutes. You save files wherever your browser drops them. While you snooze, SlothClerk categorizes them, standardizes dates, and maintains a full audit log.
  • Guilt-Free Mornings: Instead of waking up to anxiety-inducing red notification badges, you open your laptop to the Sloth Morning Briefing: "No panic detected. 6 chores finished. Go enjoy your coffee."

Prize Categories

  • Overall Challenge Winner: Open-Source AI Challenge Week 3 ("Slow and Steady").
  • Best Use of Gemma: (Compatible with local Gemma 2 open-weight models via Ollama ollama run gemma2:2b).

Built with calm care for Hacktoberfest 2026. May your weekend be slow, your models open-source, and your chores handled while you nap. πŸ¦₯πŸ’€

Top comments (0)