Inspiration

As students and developers, our "Downloads" folder is often a graveyard of unorganized files. We download research papers, installers, images, and random PDFs daily, turning the folder into a chaotic mess. We found ourselves wasting valuable time searching for specific files or manually dragging them into folders every week.

We wanted to solve this problem permanently by building a tool that enforces automatically. We didn't just want a script we wanted a full software that feels like a native part of Windows silent, fast, and invisible until you need it.

Functionality

Downloads Organizer is a lightweight, intelligent background utility that acts as a traffic controller for your files.

  • Zero-Latency Sorting: Unlike other tools that scan on a schedule, our app uses the Windows Watchdog API to detect file events the millisecond they happen.
  • Smart Categorization: It instantly recognizes file types and routes them into organized sub-folders (e.g., .jpg to Images, .exe to Installers, .pdf to Documents).
  • System Tray Integration: It lives quietly in your system tray. A simple right-click gives you access to settings, manual scans, or startup options.
  • Security Aware: We built a specific feature to handle Windows Defender exclusions via a hidden PowerShell sub process, ensuring the app doesn't trigger false positives or high CPU usage.
  • Startup Persistence: It can be set to launch automatically with Windows via Registry integration.

Technologies

We treated this project like a production software release, not just a hackathon script.

  • Core Logic: Built with Python using the watchdog library for file system events and shutil for file operations.
  • GUI & System Tray: We used pystray and Pillow to create a responsive system tray interface that mimics native Windows apps.
  • OS Integration: We utilized ctypes and winreg to interact with the Windows API for tasks like setting the App ID (for taskbar icons) and managing startup registry keys.
  • Installer: We compiled the app using PyInstaller and wrapped it in a professional installer using Inno Setup.
  • Web: The landing page was built with HTML5 and Tailwind CSS, using AOS for scroll animations to give it a premium feel.

Challenges

  • Windows Defender False Positives: Since our app moves files rapidly in the background, antivirus software initially flagged it as suspicious. We solved this by implementing a feature that allows users to whitelist the app folder via a PowerShell command directly from the tray menu.
  • Infinite Loops: Early versions of the script would move a file, detect the move as a "new file," and try to move it again. We implemented a "2-minute rule" and strict event checking to distinguish between user actions and automated moves.
  • Taskbar Icon Blurriness: Python apps often default to low-res icons. We had to write a custom image generator using Pillow to render high-DPI (256x256) icons dynamically for the taskbar and system tray.

Future Implementations

  • AI Sorting: Integrating a lightweight local LLM to sort files based on content (e.g., "Invoice" vs. "Resume") rather than just file extension.
  • Cloud Sync: Adding support to auto-move specific files to Google Drive or OneDrive folders.
  • Cross-Platform: Porting the logic to run on macOS and Linux.

Built With

Share this project:

Updates