In development · not yet on the App Store

TidyTrail

Finds duplicate and large files in an iOS folder you pick — and writes a text log of exactly what it deleted, before it deletes anything.

What it does

A focused storage-cleanup tool built around one idea: never delete silently. Every run leaves a paper trail.

Pick a folder

Grant access to one folder at a time through the standard iOS Files picker — an "On My iPhone" folder, or an iCloud Drive folder.

Find what's worth clearing

Exact duplicates are found by content hash, not just name or size. The largest files in the folder are surfaced too.

Delete with a log

Before anything is removed, TidyTrail writes a manifest to Files > TidyTrail Logs, then updates it with the real outcome — deleted, or failed and why.

Honest about iOS sandboxing

iOS does not let third-party apps scan "the whole phone" or clear another app's cache — there's no such API, and Apple rejects apps that claim otherwise. TidyTrail is scoped to what's actually possible.

What TidyTrail can do

  • Scan a folder you explicitly grant access to via the Files picker
  • Find exact duplicate files by content, and the largest files
  • Delete files you select, with a before-and-after text log
  • Show device-wide total/available storage (public API)

What no iOS app can do

  • Scan or delete other apps' caches or documents
  • Clear OS-level temp files
  • See a device-wide breakdown of storage by app

Preview

Illustrative mockups of the three tabs — not screenshots of a shipped build, since the app hasn't been submitted yet.

Scan
IMG_0231-copy.mov184 MB
export_final.mp496 MB
backup-2026.zip61 MB
notes-draft.pdf4 MB
Logs
TidyTrail deletion log
Planned at: 2026-09-16T18:02:11Z
Items: 3 · Total size: 281 MB
[DELETED] IMG_0231-copy.mov
[DELETED] export_final.mp4
[FAILED (in use)] backup-2026.zip
Storage
Total capacity256 GB
Available38 GB
Used218 GB

Scan a picked folder → review duplicates/large files → delete with a log → check past logs anytime.

Architecture

SwiftUI app on top of a pure-Swift core package, with the Xcode project generated rather than hand-maintained.

TidyTrailCore

Foundation + CryptoKit only, no UIKit. Scanning, duplicate detection, and the delete-then-log engine, covered by XCTest unit tests.

XcodeGen

project.yml is the source of truth — the .xcodeproj is generated, so the project stays diffable and editable without Xcode.

GitHub Actions CI

Runs swift test and a full simulator build on a macOS runner on every push — the actual build/test loop, since development happens from a machine with no local Xcode.