Inspiration

Everyone hits the "storage full" notification eventually. You open your files and it's IMG_4072.png, document (3).pdf, a8fk2x.pdf — hundreds of files with names that mean nothing. You know you should organize, but it would take hours. So you don't. And it keeps getting worse.

We wanted to build something that doesn't just sort files into generic folders — it learns how you think about your stuff and organizes accordingly.

What it does

v2 is an AI-powered file organizer that:

  1. Learns your system — Drop in a folder and have a short conversation. The AI builds a personalized organization schema: your rules, your categories, your naming conventions.
  2. Organizes your files — Two modes. Hands-On shows you every move with reasoning and confidence scores — you approve or reject each one. Hands-Off auto-executes high-confidence actions and flags uncertain ones for review.
  3. Answers questions — Query your file system in plain English. "Where's that PDF from econ class?" or "How much space are my old class files taking up?"
  4. Maintains itself — New downloads get sorted automatically using your schema.

The core design principle: the AI organizes, the human decides what goes away. v2 never deletes a single file.

How we built it

  • Python + Flask backend with the Anthropic SDK (Claude Sonnet)
  • Vanilla HTML/CSS/JS frontend — no frameworks, no build step
  • Schema-first architecture: one JSON schema powers organizing, querying, and maintenance
  • Six modules (indexer, schema builder, organizer, executor, query engine, frontend) built in parallel using Claude Code subagents

Challenges we ran into

  • Source path accuracy after reorganization. Once files move, the index is stale. The query engine has to re-index after every batch of moves or it hallucinates file paths.
  • Confidence calibration. Getting Claude to produce meaningful confidence scores required providing concrete signals (extension match, name pattern similarity, metadata overlap) rather than asking for a raw self-assessment.
  • State management with Flask. The debug reloader wipes in-memory state on every file change — we had to disable it for demo stability.

What we learned

  • Schema-first design is powerful: one artifact (the org schema) drives three features with no extra infrastructure.
  • Parallel subagent development works if you pre-stub all interfaces with clear contracts.
  • The hardest UX problem isn't organizing — it's building trust. Two modes solve this by letting the user choose their comfort level.

What's next for v2

Files are just the beginning. The same schema-first approach could organize emails, photos, notes, or cloud storage. Anywhere you have a mess and a system you wish you followed.

Built With

Share this project:

Updates