Spark
Testnet

Backspace

Description Backspace compares your phone's local photo folder against a backed-up export (Google Takeout or iCloud) using SHA-256 content hashing, so you know with cryptographic certainty which files are safe to delete not a filename guess. Every cleanup writes a verifiable receipt to Monad testnet. Problem Phones fill up with backed-up photos and videos, but there's no reliable way to know which specific files are safe to delete. Filename-matching tools get this wrong ,two files can share the same auto-generated camera name without being the same content and deleting the wrong file means losing something for good. Solution Backspace hashes every file's actual byte content (not its name) in both your local folder and your backup export, then matches files by hash. A match is a cryptographic guarantee of identical content, so deletion is provably safe. Users pick a local folder and a backup export folder, review the comparison, and clear only the hash-confirmed duplicates with one click. Each cleanup writes a hash of the summary (files cleared, bytes reclaimed, timestamp) to a Monad testnet contract as a permanent, verifiable receipt no personal data ever touches the chain. What I learnt The biggest lesson was mid-build: I'd planned a seamless "connect your Google account" flow using the Photos Library API, but discovered Google removed broad read access to a user's full photo library in April 2025 , that capability simply doesn't exist for third-party apps anymore. I had to pivot to an export-based flow instead, which turned out to be more accurate and platform-agnostic anyway, since it works identically for Google and Apple exports. I also learned the real difference between filename matching and content hashing the hard way early on I almost shipped filename matching before realizing how easily it could cause real data loss, which pushed me toward SHA-256 hashing as the actual safety mechanism of the whole app.Etc

Discussion

Sign in to comment on this project.

No comments yet. Be the first to share what you think.