Back to projects

RustDupe

A high-performance duplicate file finder with interactive TUI - built in Rust using BLAKE3 hashing.

2stars0forksRustLive from GitHub
RustDupe

Overview

RustDupe is a duplicate file finder I built in Rust as a way to learn the language while solving a practical problem. Existing duplicate-file tools tend to be slow on large directories, fragile on cross-platform paths, or unfriendly when you want to actually do something with the matches once they're found. I wanted one that handled all three.

What it does

The tool walks a directory, hashes files using BLAKE3 (which is significantly faster than SHA on modern hardware), and groups identical files. The interactive TUI lets you review groups, expand them to compare full paths and sizes, and selectively delete or hard-link duplicates. Cross-platform support was a non-negotiable since I move between Windows and Linux constantly.

Why Rust

Rust was the right choice for two reasons. First, the file walking and hashing is the bottleneck, and Rust gives you predictable performance without having to fight a runtime. Second, the borrow checker forced me to think clearly about ownership of the file metadata flowing through the pipeline, which made the eventual TUI much easier to wire up.

What I learned

Picking up Rust through this project taught me more about systems thinking than syntax. The compiler errors were strict in ways that initially felt punishing but ended up shaping the code into something cleaner than I'd have written in a more permissive language. By the time the TUI was wired up, I had a much stronger sense of how to structure ownership and lifetimes for real applications.