๐ฆฅ findbox โ Drop it in. Forget it. Find it by what you remember.
Built for Hacktoberfest 2026 Week 3: Slow & Steady (International Sloth Day). Open-source, 100% local, zero cloud.
๐ GitHub: chourasiavinit9-dev/findbox
๐ Static Demo (judges): chourasiavinit9-dev.github.io/findbox
๐ณ Docker Ready: docker compose up --build
The Problem: Your Downloads Folder Is a Crime Scene
I have 847 files in my Downloads folder right now. IMG_4471.png (an Instagram recipe I'll never find), scan(3)_final_FINAL.pdf (who knows), WhatsApp Image 2026-09-14.jpg (could be anything), and buried in there somewhere โ an electricity bill I need to pay.
Sorting this takes hours. So nobody does it. The mess compounds. Then one day you get a late fee because the bill was buried under 200 screenshots.
findbox solves this while you sleep.
๐ธ The Final Web App Look
1. Homepage & The Payoff Meter
2. Vague Memory Search (AI-Parsed Query + Instant Filter)
3. Action Items Deadlines & Device Scanner
The Build Session
I built the entire thing with Antigravity (Gemini coding agent) in one session:
The Lazy Workflow
# Run this once before bed (or click 'Scan My Device' in the UI)
python3 sloth_box.py run --apply
# Wake up to everything organized. Then search:
python3 sloth_box.py serve # http://127.0.0.1:8765
# Search: "paneer recipe september" โ finds it instantly
Your effort: 1 command. That's literally it.
findbox runs at os.nice(19) โ the absolute lowest CPU priority, yielding to every other process on the machine.
๐ณ Zero-Install: Run With Docker
Don't have Python or local dependencies configured? Run with Docker Compose:
git clone https://github.com/chourasiavinit9-dev/findbox && cd findbox
docker compose up --build
Or plain Docker:
docker build -t findbox .
docker run -p 8765:8765 \
-v ~/Downloads:/inbox/Downloads \
-v ~/Desktop:/inbox/Desktop \
-v ~/SlothBox:/home/sloth/SlothBox \
findbox
Open http://localhost:8765 โ your files, organized, indexed, and searchable.
Why Open-Weight Models Were Non-Negotiable
Think about what's in your Downloads folder: bank statements, medical prescriptions, Aadhaar/passport scans, private WhatsApp exports, OTP screenshots.
Sending any of this to a cloud API is unacceptable. Open-weight Gemma 3 running locally via Ollama was the only viable choice:
| Feature | Closed Cloud APIs | findbox (Gemma Local) |
|---|---|---|
| Privacy | Files leave your device | Files never leave RAM |
| Offline | Requires internet | Works on an airplane |
| Cost | Per-token for 1000s of files | Free at any scale |
| Language | English-optimized | Hindi/Bengali natively |
When Ollama isn't running, findbox falls back to a deterministic heuristics engine โ so it never crashes.
Key Features
Zero-Config Auto-Discovery
No path configuration. It auto-finds ~/Downloads, ~/Desktop, ~/Pictures/Screenshots, ~/Documents, WhatsApp exports, and iCloud Drive. Just run it.
Meaningful Renaming
IMG_4471.png โ 2026-09-04_instagram-paneer-tikka_recipe.png
scan(3)_final_FINAL.pdf โ 2026-10-12_electricity-bill_WBSEDCL.pdf
WhatsApp Image 2026-09-14.jpg โ 2026-09-14_rent-chat-rahul_chats.jpg
Vague-Memory Search
Gemma parses your query into structured parameters (keywords + category + date range), then SQLite FTS5 BM25 finds the exact file. Search "paneer recipe september" โ finds the Instagram screenshot from Sept 4. Includes a dedicated โ clear button to immediately wipe filters.
Scan from the UI
The ๐ฆฅ Scan My Device Now button in the web UI triggers background scanning with live visual feedback. No terminal needed.
Action Items Panel
Deadlines extracted from every file, color-coded: ๐ด red = due โค7 days, ๐ฃ purple = future, โซ gray = past.
Architecture
sloth_box/
โโโ config.py โ AUTO_SCAN_DIRS (8 device locations)
โโโ security.py โ path-traversal, XSS disarm, magic-byte quarantine
โโโ extractor.py โ PDF/DOCX/image/text + fallback heuristics
โโโ ai.py โ local Ollama/Gemma client + vague query parser
โโโ organizer.py โ multi-folder intake, collision-safe rename, undo
โโโ db.py โ SQLite WAL + FTS5 + audit log
โโโ server.py โ WCAG 2.1 AA web UI (neobrutalism design)
Safety: dry-run by default, atomic undo, no overwrites, no deletes, localhost-only server.
The Payoff Meter
$$\text{Minutes Saved} = (\text{Files Indexed} \times 1.5) + (\text{Searches Avoided} \times 5.0)$$
On sample data: 15 minutes saved, 0 minutes spent. That's the sloth way.
Why Open Innovation Matters
This project wouldn't exist as a privacy-safe tool without open-weight models. The files it processes are genuinely sensitive. Gemma running locally means:
- Data never moves โ inference in local RAM
- No internet required โ fully offline
- No metered cost โ 10,000 files, pay nothing
- Multilingual โ handles Hindi/Bengali natively (WBSEDCL, Aadhaar, kharcha all work)
Try It
git clone https://github.com/chourasiavinit9-dev/findbox && cd findbox
python3 sloth_box.py run # dry-run
python3 sloth_box.py run --apply # apply
python3 sloth_box.py serve # search UI at http://127.0.0.1:8765
python3 -m pytest tests/ -v # 18 tests, 0.04s
- ๐ GitHub Repository: chourasiavinit9-dev/findbox
- ๐ Judge Interactive Demo: chourasiavinit9-dev.github.io/findbox
๐ฆฅ Hacktoberfest 2026 Week 3 โ Slow & Steady ยท International Sloth Day ยท Open-source ยท 100% local ยท Zero cloud



Top comments (0)