This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady.
What I Built
SlothDesk is a local-first assistant for small digital chores. It organizes a folder into useful categories, summarizes text-based documents, and turns pasted notes into checklists or practical plans.
For file cleanup, SlothDesk scans a selected folder and prepares a preview showing each file’s suggested category and destination. Nothing moves until the user reviews the plan and confirms. It avoids overwriting existing files and keeps an undo manifest for the latest organization run.
Code
🦥 SlothDesk
Your local-first AI helper for boring digital chores.
SlothDesk is a Streamlit app that organizes files, summarizes text-based documents, and turns pasted notes into practical checklists. AI features use a local Ollama model, so your document contents are not intentionally sent to a hosted model API.
Features
- Preview-first file organization — sort files into folders by type and review every proposed move before anything changes.
- Optional local AI classification — ask Ollama to classify files with unknown extensions using the filename only.
- Document summaries — summarize text-based PDF, TXT, and Markdown files.
- AI productivity helper — turn pasted notes or instructions into concise plans, checklists, and summaries.
- Undo support — save a manifest for the latest organization run and restore moved files where possible.
- Privacy-first workflow — file operations stay on your computer and Ollama runs locally.
Architecture
Main flow: Streamlit UI (app.py) -> Application services (src/) ->…
How I Built It
SlothDesk is a Python and Streamlit app. File categories are assigned with extension rules first; optional AI classification is used only for unknown file types and sends the filename, not the file contents.
For document summaries and the notes helper, SlothDesk sends extracted text to a local Ollama service using Gemma 3 4B. PDF text extraction uses pypdf. The main flow is:
Folder → scan and classify → preview plan → user confirms → move files → save undo manifest
PDF/TXT/Markdown → extract text → local Gemma through Ollama → summary
Keeping File Cleanup Safe
SlothDesk separates planning from action. First it scans the selected folder and creates a destination for each file. The preview shows the filename, suggested category, destination, and reason. I can review the plan before confirming any moves.
The organizer skips hidden files, avoids overwriting existing files, and records the latest run so it can attempt to undo those moves. This makes the workflow useful for real folders where I want automation but still need control over what changes.
Where Gemma Fits
Most files are sorted with built-in extension rules, which keeps routine classification fast and predictable. If I enable AI classification, Gemma is only asked to classify unknown file types using the filename; it does not receive those files’ contents.
For document summaries and the notes helper, SlothDesk sends extracted text to Gemma through my local Ollama service. That keeps inference on my machine, while letting me choose a different installed model if I want to change the setup.
What I Learned
Local inference makes privacy easier to reason about, but response time depends on the machine and whether the model is already loaded. While trying a real PDF, I hit the app’s original two-minute request timeout. I raised the timeout and improved the message shown if a request still takes too long.
I haven’t measured a specific number of minutes saved, so I’m focusing on the practical reduction in steps: scan, review one plan, and confirm instead of sorting each file manually.
Why Does Open Innovation Matter?
Running an open-weight model locally keeps document text on the user’s computer instead of sending it to a hosted model API. Once Ollama and the model are installed, the AI features can run against the local service without depending on a cloud inference provider. The model setting is configurable, and the project code can be inspected and changed.
Open tools also let people adapt the workflow to their own folders and privacy needs, rather than handing their files to a closed service just to sort or summarize them.
The Lazy Payoff
A folder that would take repeated manual sorting can be scanned into one reviewable plan. I can check the proposed destinations once, confirm the moves, and use the saved manifest to undo the latest run if needed. I haven’t measured a time-saving figure yet, so I’m describing the reduced steps rather than claiming a number.
Prize Categories
- Best Use of Gemma





Top comments (0)