Inspiration

I built ArchiveMind because I had a drawer full of hard drives and could never find anything. I knew the files were there, but filenames and folder structures were often useless years later. I wanted a way to search my archive by what files actually contained instead of relying on remembering what I had named them.

What it does

ArchiveMind is a private, local-first desktop app that catalogs and searches large collections of files across folders, computers, and external hard drives. Instead of forcing users to reorganize everything first, ArchiveMind indexes the files they already have and makes the archive searchable. The goal is simple: help people find files by what they contain, not just by filename. ArchiveMind works locally, with no cloud storage required, no account, and no telemetry.

How I built it

ArchiveMind is built primarily in Python and uses SQLite with FTS5 for fast full-text search, along with LanceDB and local file extraction and indexing tools. The desktop application uses pywebview to provide a native shell while keeping the search and cataloging system local to the user's computer. I developed and tested ArchiveMind against my own real-world archive rather than a small demo collection.

Challenges I ran into

The biggest challenge was scale. Real file collections are messy: hundreds of thousands of files, different formats, duplicates, inaccessible files, old drives, unusual metadata, and files that fail during extraction. Another challenge was making the application useful without requiring users to completely reorganize their files first. ArchiveMind needed to work with the mess people already have. Cross-platform desktop behavior, performance, indexing reliability, and maintaining a completely local workflow were also important parts of the development process.

Accomplishments that I'm proud of

ArchiveMind successfully indexed my archive of more than 500,000 files and nearly 800 GB of data. I'm also proud that it became a real, signed and distributed desktop application rather than remaining a personal script or prototype. Most importantly, it solves the original problem that inspired it: I can now search through years of files without opening drive after drive and folder after folder.

What I learned

I learned that building something for a real personal problem is very different from building a small technical demo. Edge cases become the main cases when you are dealing with hundreds of thousands of real files. I also learned a lot about desktop application development, file extraction, indexing, search systems, databases, packaging, testing, and designing software for people who may not be technical.

What's next for ArchiveMind

The next step is getting ArchiveMind into the hands of more users and learning how people with different kinds of archives use it. I want to continue improving search, file-format support, performance, and the overall experience while keeping the core philosophy the same: private, local-first search for the files you already have.

Built With

Share this project:

Updates