The idea
A lightweight desktop app that sits in the tray, watches your Downloads folder, and automatically moves, renames, and tags new files as they arrive. Obvious cases (invoices, screenshots, installers) get sorted by fast heuristics — extension, filename pattern, source domain from browser metadata. Ambiguous files (a PDF that could be a resume, a contract, or a manual; a random export named Untitled.csv) get opened, skimmed, and classified by a local or cloud LLM, then routed to a folder with a sensible rename.
Why build this
Downloads folders are the one part of the filesystem almost nobody organizes, because doing it by hand is tedious and the payoff is deferred. Everyone has thousands of files in there they'll never find again. Local LLMs are now cheap and fast enough to read a PDF's first page or a CSV's header row and make a decent guess about what it is, which makes "smart" file organization finally viable without sending every download to a cloud API. This is a chronically annoying, universal problem with no dominant existing tool — Hazel exists on Mac but is rules-only, Windows and Linux have nothing comparable, and nothing on any platform uses content-aware classification out of the box.
Stack sketch
- App shell: Tauri (Rust + web frontend) for a small footprint, cross-platform build, and native filesystem watching without an Electron-sized install
- File watching: OS-native watchers (
notifycrate on Rust, wraps inotify/FSEvents/ReadDirectoryChangesW) - Fast-path rules engine: regex/glob rules on filename, extension, and size, configurable by the user, evaluated before any AI call
- Classification fallback: local model via Ollama (a small vision-capable or text model) for offline/private mode; optional Claude API call for harder cases when the user opts in and has a key configured
- Content extraction:
pdfiumorpdf-extractfor PDF text,xlsx/csvheader sniffing for spreadsheets, EXIF for images - Config/rules storage: local SQLite for rule definitions, classification history, and undo log
- UI: simple settings window (rules list, folder mappings, activity log) plus a system tray icon and notification on each sort action
Scope for v1
- In: watch one folder, apply user-defined rules first, fall back to local-model classification for unmatched files, move + rename into destination folders, an activity log with one-click undo
- In: a handful of sensible default rules out of the box (installers, screenshots, archives, images)
- In: manual "classify this file" button for anything the user drops in later
- Out: multi-folder watching, browser extension integration for source-domain tagging, cloud sync of rules across machines, mobile companion app
- Out: automatic deletion or duplicate detection — v1 only moves and renames, never deletes
Where it could go
The natural next step is closing the loop with the browser: a small extension that passes the source URL and page title as metadata on download, which dramatically improves classification accuracy (a PDF downloaded from a bank's domain is almost certainly a statement, no AI guess needed). After that, duplicate detection and a "stale downloads" cleanup suggestion (files untouched for 90+ days) turns it from an organizer into light digital housekeeping. A team edition that applies the same content-aware sorting to a shared network drive or S3-backed folder is a plausible B2B expansion once the single-user product is solid.
Watch out for
Misclassification is the whole risk surface here — moving or renaming the wrong file erodes trust fast, so the undo log and a conservative confidence threshold (route to a review inbox instead of guessing) matter more than raw classification accuracy. Also budget carefully for local-model latency on first launch, since scanning a backlog of thousands of existing files with a local LLM can take a while and needs a visible progress state rather than looking frozen.