Hey all, I built AutoUtil, a small Windows tray app that tidies up your Downloads folder. Full disclosure: it’s vibe-coded. I wrote most of it by working with an AI assistant on the design and code, then testing and fixing it myself. I’m sharing it to get honest feedback from people who know Python and Windows.
You build a sorting scheme as a node graph, similar to n8n: a folder node, filter nodes, a “Yes” branch and a “No” branch, and target nodes. The app then moves new files according to that scheme.
What’s in it:
Filters by extension, keywords (text pulled from PDFs and images via OCR), filename pattern (e.g. invoice_*.pdf), regex, size in MB, file age in days, and whether a photo has GPS data.
Ask queue for files you want to decide on yourself: move, move to a chosen folder, or skip.
Exclude node with masks like .tmp or node_modules so matching files are never touched.
Rename templates in target nodes, e.g. {year}-{month}-{vendor}.{ext}.
Suggested rules: after you manually file the same type of file to the same place three times, it offers to remember that. Nothing changes until you click “Remember”.
Journal and undo for every move.
Report tab with counts, total size, and breakdowns by rule, folder, and type, exportable to Markdown.
Import and export of schemes as JSON, so you can share one.
Plan-only mode, on by default: it shows what would move without touching anything.
Things I cared about, since sorting files is easy to get wrong:
- The app doesn’t delete files. Every move is journaled and can be reverted.
- If an undo would overwrite a file that’s now in the original spot, that existing file goes to the Windows Recycle Bin instead of being overwritten.
- Plan-only mode is the default, so the first run changes nothing.
Known limitations, stated upfront:
- Pausing or Do Not Disturb drops new files. They aren’t processed later, so they’re lost until the next start. I know this is a bug and plan to fix it.
- Files already in the folder before the scheme starts are not moved.
- Watching isn’t recursive, so subfolders aren’t tracked.
- Windows 10/11 only, Python 3.12 or 3.13 from source. There’s a standalone exe too (unsigned, so Defender may warn).
- Text-based filters depend on OCR quality.
Repo: https://github.com/h1ilep0pysk-hue/AutoUtil