Skip to content
← All work

Desktop Application

FileDesk — Safe File Consolidation

Active build

A Windows 11 tool for consolidating files scattered across many drives into one organized vault. A deterministic engine decides what is a duplicate and what moves; a small local language model may suggest where a file belongs, but cannot move, copy or delete anything.

Working files accumulate across several drives, cloud folders and backups, with duplicates everywhere. Cleaning that up by hand is slow, and cleaning it up with a tool that can delete is risky, because the cost of one wrong deletion is a lost file.

What it solves

  • Duplicate files spread across drives, with no certain way to know which copy is the keeper.
  • Consolidating hundreds of thousands of files without trusting a model, or a script, to decide what is safe to remove.
  • Long-running jobs that cannot be interrupted without losing progress.

Technology stack

Python (standard library)SQLiteLocal LLM over HTTPLoopback web interface

My role

I designed and built FileDesk for my own use, including its safety model, which has been through two review rounds with the fixes tracked to tests.

Highlights

Deterministic engine, advisory model

Scanning, hashing, duplicate detection, planning and copying are pure computation that can be repeated and audited. The language model only suggests a destination folder and a confidence score for files the rules could not route, and the engine is free to ignore it. The model never sees or influences duplicate decisions.

Plan, verify, commit, quarantine

Nothing destructive happens without a verified hash match, a recorded plan and an explicit commit. Deletes are moves into quarantine with a retention window, and bytes are destroyed only by a separate purge.

Four modes

Audit reads only and gives the numbers. Dedupe removes only redundant copies and leaves each keeper where it is. Copy builds a vault and keeps the originals. Safe-move builds the vault and retires the originals only after a verified copy.

Overnight queues

Jobs run one after another and copy unattended. Anything that would remove a file is held for review the next morning, judged against the finished vault. Closing the app or losing power pauses cleanly, and a restart resumes from the saved state.

Key decisions

The model suggests and never acts

A small model on a laptop should not decide which copy of an important file survives. Rules route the easy majority and the model handles the ambiguous remainder, with every consequential decision left to the deterministic side.

Progress lives in the database, not in memory

Every command can be stopped and rerun, because state is stored in rows rather than in checkpoints.

Split authority for commits

Unattended jobs may only add files. Removals are proposed and wait for approval, so the worst unattended outcome is a vault with files I did not want.

Few dependencies

The core uses only Python’s standard library and SQLite, which keeps the tool simple to audit.

Status

FileDesk is an active build for my own use and is not offered as a product. Its design is documented as a set of architecture decision records alongside a written safety model.

Have a similar problem to solve?
Let’s talk about what a practical solution would look like for your organization.
Discuss a project