All work

FileSweep

Cleaning a disk is scary because it is easy to delete the wrong thing. FileSweep first proves that files are identical, then proposes a plan that can be undone.

Client
Our own product, open source
Type
App for Mac and Windows
Our part
The whole app
Year
2026
FileSweep

Two passes

First, files are grouped by size: files of different sizes cannot be duplicates. Then the candidates are hashed with SHA-256 by several workers at once. If a file changes while it is being read, that is detected and it stays out of the result.

A plan instead of deletion

Every move or trash action goes into a plan first. A safe move verifies size and hash, and across volumes it copies, verifies and only then removes the original. Everything is recorded in a history with undo.

A sorting machine

Files ride a conveyor, a size gate sorts them into lanes, a press with several heads stamps a SHA-256 fingerprint, and identical prints meet in one bin. Nothing reaches the shredder without passing the plan gate.

SHA-256
Plan tags: the copies that will be movedFour heads compute SHA-256, one per laneBelt and stops: files ride until a head is doneA model of how FileSweep, a local app built with Wails (Go and React), finds exact duplicates in two passes. First the files are grouped by size: a diverter fans them into lanes. Then a worker pool computes SHA-256, drawn here as four heads that print a fingerprint; files with the same fingerprint meet in one cubby, and a file that changes while it is being hashed is detected. Nothing is deleted automatically: each extra copy becomes a tag in the plan, and the gate opens only when the plan is run. A safe move verifies size and hash, copies, verifies and only then deletes across volumes, and the history can undo it. The model runs on a sample of 12 files.

Under the hood

  • A Go back end on Wails, an interface on React and TypeScript, SQLite with no native libraries.
  • SHA-256 hashing with a worker pool and detection of changes during reading.
  • Safe moves with size and hash checks; across volumes it copies, verifies, then deletes.
  • History with undo, CSV export, Russian and English interface, light and dark themes.
  • Builds and checks in GitHub Actions; the code is open.

Go · Wails · React · SQLite

Shall we talk about your project?

Discuss your project